aboutsummaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@st.com>2005-03-08 15:22:25 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2005-03-08 15:22:25 +0000
commit77fb4cc1a1cfcf13f529a696eb370ef44a898201 (patch)
treec97d69e6375a2325a5e373b86c53bb8d5ebf4ee5 /gcc/jump.c
parent6c6cfbfd5260f774b0517aa3d6d0cc97ea5f81e6 (diff)
downloadgcc-77fb4cc1a1cfcf13f529a696eb370ef44a898201.zip
gcc-77fb4cc1a1cfcf13f529a696eb370ef44a898201.tar.gz
gcc-77fb4cc1a1cfcf13f529a696eb370ef44a898201.tar.bz2
jump.c (invert_jump_1): Don't call redirect_jump_1 with nlabel == JUMP_LABEL (jump).
* jump.c (invert_jump_1): Don't call redirect_jump_1 with nlabel == JUMP_LABEL (jump). From-SVN: r96105
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 8915410..a120300 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1716,7 +1716,9 @@ invert_jump_1 (rtx jump, rtx nlabel)
if (num_validated_changes () == ochanges)
return 0;
- return redirect_jump_1 (jump, nlabel);
+ /* redirect_jump_1 will fail of nlabel == olabel, and the current use is
+ in Pmode, so checking this is not merely an optimization. */
+ return nlabel == JUMP_LABEL (jump) || redirect_jump_1 (jump, nlabel);
}
/* Invert the condition of the jump JUMP, and make it jump to label