diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f909aa94409..bdbc2112ef5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-02-09 Zdenek Dvorak + + PR rtl-optimization/24762 + * df-scan.c (df_bb_refs_record): Record correct registers defined on + eh edges. + 2006-02-09 Zdenek Dvorak * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed. 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], ®no_reg_rtx[i], bb, NULL, + df_ref_record (dflow, regno_reg_rtx[regno], ®no_reg_rtx[regno], + bb, NULL, DF_REF_REG_DEF, DF_REF_ARTIFICIAL | DF_REF_AT_TOP, false); }