From fcdc122ea79b823c0ba3f9a2079e3260cce3fda7 Mon Sep 17 00:00:00 2001 From: kenner Date: Thu, 18 Oct 2001 21:34:14 +0000 Subject: * 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 --- gcc/integrate.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gcc/integrate.c') diff --git a/gcc/integrate.c b/gcc/integrate.c index 1cbeca06081..392ac5923e9 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -1779,6 +1779,15 @@ integrate_decl_tree (let, map) r = DECL_RTL (d); subst_constants (&r, NULL_RTX, map, 1); SET_DECL_RTL (d, r); + + if (GET_CODE (r) == REG) + REGNO_DECL (REGNO (r)) = d; + else if (GET_CODE (r) == CONCAT) + { + REGNO_DECL (REGNO (XEXP (r, 0))) = d; + REGNO_DECL (REGNO (XEPX (r, 1))) = d; + } + apply_change_group (); } -- cgit v1.2.1