re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressi...
authorZdenek Dvorak <dvorakz@suse.cz>
Thu, 9 Feb 2006 22:34:23 +0000 (23:34 +0100)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Thu, 9 Feb 2006 22:34:23 +0000 (22:34 +0000)
PR rtl-optimization/24762
* df-scan.c (df_bb_refs_record): Record correct registers defined on
eh edges.

From-SVN: r110815

gcc/ChangeLog
gcc/df-scan.c

index f909aa944094c3003ee79a3b6eddc79638be5113..bdbc2112ef53b5e2026741acfed3321495cab672 100644 (file)
@@ -1,3 +1,9 @@
+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.
index e6460faa3a69190526b521042fd901b506f51a95..934f98d05f924dfed3a32f9f979a8ad479a9fd63 100644 (file)
@@ -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);
        }