aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gcc.gnu.org>2011-08-03 21:18:21 +0930
committerAlan Modra <amodra@gcc.gnu.org>2011-08-03 21:18:21 +0930
commit276e02243a3e9dfd2fa7043dba85dfb85a81f22a (patch)
tree93c98a43871a16b1f0bacd16de0dd5976685e26b /gcc/emit-rtl.c
parenteb723fa314a09f6cf8708f8243a436ff9475558c (diff)
downloadgcc-276e02243a3e9dfd2fa7043dba85dfb85a81f22a.zip
gcc-276e02243a3e9dfd2fa7043dba85dfb85a81f22a.tar.gz
gcc-276e02243a3e9dfd2fa7043dba85dfb85a81f22a.tar.bz2
re PR rtl-optimization/49941 (segmentation fault in redirect_jump_2)
PR rtl-optimization/49941 * jump.c (mark_jump_label): Comment. (mark_jump_label_1): Set JUMP_LABEL for return jumps. * emit-rtl.c (copy_rtx_if_shared_1, copy_insn_1): Leave RETURN shared. (mark_used_flags): Don't mark RETURN. From-SVN: r177268
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index aa743d7..16a1c6c 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -2724,6 +2724,7 @@ repeat:
case CODE_LABEL:
case PC:
case CC0:
+ case RETURN:
case SCRATCH:
/* SCRATCH must be shared because they represent distinct values. */
return;
@@ -2843,6 +2844,7 @@ repeat:
case CODE_LABEL:
case PC:
case CC0:
+ case RETURN:
return;
case DEBUG_INSN:
@@ -5261,6 +5263,7 @@ copy_insn_1 (rtx orig)
case CODE_LABEL:
case PC:
case CC0:
+ case RETURN:
return orig;
case CLOBBER:
if (REG_P (XEXP (orig, 0)) && REGNO (XEXP (orig, 0)) < FIRST_PSEUDO_REGISTER)