diff options
author | Alan Modra <amodra@gcc.gnu.org> | 2011-08-03 21:18:21 +0930 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2011-08-03 21:18:21 +0930 |
commit | 276e02243a3e9dfd2fa7043dba85dfb85a81f22a (patch) | |
tree | 93c98a43871a16b1f0bacd16de0dd5976685e26b /gcc/emit-rtl.c | |
parent | eb723fa314a09f6cf8708f8243a436ff9475558c (diff) | |
download | gcc-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.c | 3 |
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) |