aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2006-06-23 01:19:57 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2006-06-23 01:19:57 +0000
commit8c3390831f47bc38a327ab9ae3abc16494cfcc98 (patch)
tree84cbd07ec7782287ae980befff4689504563d3bd /gcc/reload1.c
parent70259b264e0a06ddddea4b8b7680e72a82e528dc (diff)
downloadgcc-8c3390831f47bc38a327ab9ae3abc16494cfcc98.zip
gcc-8c3390831f47bc38a327ab9ae3abc16494cfcc98.tar.gz
gcc-8c3390831f47bc38a327ab9ae3abc16494cfcc98.tar.bz2
re PR target/27531 (sparc: undefined reference to .LL226 with -O2)
2006-06-22 Roger Sayle <roger@eyesopen.com> Steven Bosscher <stevenb.gcc@gmail.com> PR target/27531 * reload1.c (gen_reload): Call mark_jump_label on the new insns generated by gen_move_insn to add REG_LABEL notes if necessary. * gcc.dg/pr27531-1.c: New test case. Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com> From-SVN: r114921
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index f426e1d..210b007 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -7757,7 +7757,11 @@ gen_reload (rtx out, rtx in, int opnum, enum reload_type type)
}
/* If IN is a simple operand, use gen_move_insn. */
else if (OBJECT_P (in) || GET_CODE (in) == SUBREG)
- emit_insn (gen_move_insn (out, in));
+ {
+ tem = emit_insn (gen_move_insn (out, in));
+ /* IN may contain a LABEL_REF, if so add a REG_LABEL note. */
+ mark_jump_label (in, tem, 0);
+ }
#ifdef HAVE_reload_load_address
else if (HAVE_reload_load_address)