From a560d4d4d9f0fc66fd7634dac3b13d72ee0790d3 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 24 Jan 2003 23:45:58 +0100 Subject: emit-rtl.c (reg_attrs_htab): New static variable. * emit-rtl.c (reg_attrs_htab): New static variable. (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static functions. (reg_rtx): Do not maintain regno_decl. (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx, set_mem_attrs_from_reg): New global function. (init_emit): Do not initialize regno_decl. (init_emit_once): initialize reg_attrs_htab. * final.c (alter_subreg): Do not replace REG by SUBREG. (gen_mem_expr_from_op): Improve output. (output_asm_operands): Likewise. * function.c (assign_params): Do not set REGNO_DECL. * function.h (struct function): Kill regno_decl. (REGNO_DECL): Kill. * gengtype.c (adjust_field_rtx_def): Handle new field of reg. * print_rtl.c (print_rtx): Output REG information. * regclass.c (reg_scan_mark_refs): Update attrs. * reload1.c (alter_reg): Likewise. * simplify_rtx.c (simplify_subreg): Likewise. * stmt.c (expand_decl): Likewise. * rtl.def (REG): Add new field. * rtl.h (struct reg_attrs): New. (rtunion_def): At rtreg. (X0MEMATTR): Add checking. (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro. (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset): Declare. * tree.h (SET_DECL_RTL): Call set_decl_rtl. From-SVN: r61741 --- gcc/simplify-rtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/simplify-rtx.c') diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index b0ddb65..1cef92a 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -2568,7 +2568,7 @@ simplify_subreg (outermode, op, innermode, byte) if (HARD_REGNO_MODE_OK (final_regno, outermode) || ! HARD_REGNO_MODE_OK (REGNO (op), innermode)) { - rtx x = gen_rtx_REG (outermode, final_regno); + rtx x = gen_rtx_REG_offset (op, outermode, final_regno, byte); /* Propagate original regno. We don't have any way to specify the offset inside original regno, so do so only for lowpart. -- cgit v1.1