summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-09 22:34:23 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-09 22:34:23 +0000
commitd0bded31fb829dd698b196de015a1eaf3ebb3f49 (patch)
treec4fa880b360877328514c1b78464f12e7f889b1d
parentfe3822416007f87c8a3ea6f5f6851ecb5969faaa (diff)
downloadppe42-gcc-d0bded31fb829dd698b196de015a1eaf3ebb3f49.tar.gz
ppe42-gcc-d0bded31fb829dd698b196de015a1eaf3ebb3f49.zip
PR rtl-optimization/24762
* df-scan.c (df_bb_refs_record): Record correct registers defined on eh edges. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110815 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/df-scan.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f909aa94409..bdbc2112ef5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2006-02-09 Zdenek Dvorak <dvorakz@suse.cz>
+ PR rtl-optimization/24762
+ * df-scan.c (df_bb_refs_record): Record correct registers defined on
+ eh edges.
+
+2006-02-09 Zdenek Dvorak <dvorakz@suse.cz>
+
* tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
(struct ivopts_data): Add regs_used field.
(tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index e6460faa3a6..934f98d05f9 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -1571,7 +1571,8 @@ df_bb_refs_record (struct dataflow *dflow, basic_block bb)
unsigned regno = EH_RETURN_DATA_REGNO (i);
if (regno == INVALID_REGNUM)
break;
- df_ref_record (dflow, regno_reg_rtx[i], &regno_reg_rtx[i], bb, NULL,
+ df_ref_record (dflow, regno_reg_rtx[regno], &regno_reg_rtx[regno],
+ bb, NULL,
DF_REF_REG_DEF, DF_REF_ARTIFICIAL | DF_REF_AT_TOP,
false);
}
OpenPOWER on IntegriCloud