aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2005-10-05 19:50:27 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2005-10-05 12:50:27 -0700
commitd14e25e00b51fc6e284eb285ddb30a08a6274a8f (patch)
treeb3e22449dd0f8866c2cae00fb256894231507cc6 /gcc/reload.c
parentf935b9e01baa27a130b3ac6d2ce0e70b9a3607b1 (diff)
downloadgcc-d14e25e00b51fc6e284eb285ddb30a08a6274a8f.zip
gcc-d14e25e00b51fc6e284eb285ddb30a08a6274a8f.tar.gz
gcc-d14e25e00b51fc6e284eb285ddb30a08a6274a8f.tar.bz2
re PR middle-end/20606 (ICE in make_edges, at cfgbuild.c:327 on x86_64 (with O2 - not with no optimizations))
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
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index c8e8c07..e55bf34 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -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