diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-18 21:34:14 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-18 21:34:14 +0000 |
commit | fcdc122ea79b823c0ba3f9a2079e3260cce3fda7 (patch) | |
tree | 8efd4ef27021837ed8a888f7f93fac0cede0d926 /gcc/expr.h | |
parent | b28b3cd223f327f5367a7009317a61de29eb7c22 (diff) | |
download | gcc-fcdc122ea79b823c0ba3f9a2079e3260cce3fda7.tar.gz |
* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
(offset_address): New function.
(free_emit_status): Free regno_decl.
(init_emit): Pass proper number of elements to xcalloc.
Allocate regno_decl.
(mark_emit_status): Mark regno_decl values.
* expr.c (highest_pow2_factor): New function.
(expand_assigment): Use it and offset_address.
Properly handle ptr_mode vs. Pmode in offset calculation.
(store_constructor, expand_expr_unaligned): Likewise.
(expand_expr, case COMPONENT_EXPR): Likewise.
* expr.h (offset_address): New decl.
* function.h (struct emit_status): Add regno_decl.
(REGNO_DECL): New macro.
* final.c (output_asm_name): Move in file and don't conditionalize
on flag_print_asm_name.
(output_asm_insn): Only call output_asm_name if flag_print_asm_name.
Output names of operands, if known.
* function.c (assign_parms): Set REGNO_DECL.
* integrate.c (integrate_decl_tree): Likewise.
* stmt.c (expand_decl): Likewise.
* regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46337 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h index af79fd581be..ad24cb7ae74 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -633,6 +633,11 @@ extern rtx change_address PARAMS ((rtx, enum machine_mode, rtx)); extern rtx adjust_address_1 PARAMS ((rtx, enum machine_mode, HOST_WIDE_INT, int)); +/* Return a memory reference like MEMREF, but whose address is changed by + adding OFFSET, an RTX, to it. POW2 is the highest power of two factor + known to be in OFFSET (possibly 1). */ +extern rtx offset_address PARAMS ((rtx, rtx, HOST_WIDE_INT)); + /* Return a memory reference like MEMREF, but with its address changed to ADDR. The caller is asserting that the actual piece of memory pointed to is the same, just the form of the address is being changed, such as |