re PR middle-end/20606 (ICE in make_edges, at cfgbuild.c:327 on x86_64 (with O2 ...
authorAndrew Pinski <pinskia@physics.uc.edu>
Wed, 5 Oct 2005 19:50:27 +0000 (19:50 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Wed, 5 Oct 2005 19:50:27 +0000 (12:50 -0700)
2005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/20606
        PR middle-end/24069
        * reload.c (subst_reloads): When adding a REG_LABEL to a
        jump instruction, also update JUMP_LABEL.

From-SVN: r105013

gcc/ChangeLog
gcc/reload.c

index 2d50993e3d2d42c56102ee8873ea8bc17dd23752..930e25b4bd34895080d7881d8bcfc7e03bbbe572 100644 (file)
@@ -1,3 +1,10 @@
+2005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/20606
+       PR middle-end/24069
+       * reload.c (subst_reloads): When adding a REG_LABEL to a
+       jump instruction, also update JUMP_LABEL.
+
 2005-10-05  David Edelsohn  <edelsohn@gnu.org>
 
        * params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
index c8e8c07aebe9e84f8a42aa9b20b4d1d3b2453ad0..e55bf34c436caedb54a61c8d94db6126f5bc9606 100644 (file)
@@ -6033,9 +6033,12 @@ subst_reloads (rtx insn)
             register refers to.  */
          if (GET_CODE (*r->where) == LABEL_REF
              && JUMP_P (insn))
-           REG_NOTES (insn) = gen_rtx_INSN_LIST (REG_LABEL,
-                                                 XEXP (*r->where, 0),
-                                                 REG_NOTES (insn));
+           {
+             REG_NOTES (insn) = gen_rtx_INSN_LIST (REG_LABEL,
+                                                   XEXP (*r->where, 0),
+                                                   REG_NOTES (insn));
+             JUMP_LABEL (insn) = XEXP (*r->where, 0);
+          }
 
          /* Encapsulate RELOADREG so its machine mode matches what
             used to be there.  Note that gen_lowpart_common will