]> gcc.gnu.org Git - gcc.git/commitdiff
jump.c (invert_jump_1): Don't call redirect_jump_1 with nlabel == JUMP_LABEL (jump).
authorJ"orn Rennecke <joern.rennecke@st.com>
Tue, 8 Mar 2005 15:22:25 +0000 (15:22 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Tue, 8 Mar 2005 15:22:25 +0000 (15:22 +0000)
* jump.c (invert_jump_1): Don't call redirect_jump_1 with
nlabel == JUMP_LABEL (jump).

From-SVN: r96105

gcc/ChangeLog
gcc/jump.c

index 40d702cde82fb4709d194f6be608f398bdb08810..9d30cd3246779e2dfdf150cbd6d790f66c47463b 100644 (file)
@@ -1,3 +1,8 @@
+2005-03-08  J"orn Rennecke <joern.rennecke@st.com>
+
+       * jump.c (invert_jump_1): Don't call redirect_jump_1 with
+       nlabel == JUMP_LABEL (jump).
+
 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
 
        * c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
index 8915410dcd6d88d91c5fe797cdb84c37e9bbd821..a120300fc09230b447d7dcf6b54d0a43629cc53c 100644 (file)
@@ -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
This page took 0.077775 seconds and 5 git commands to generate.