OSDN Git Service

* builtins.c (expand_builtin_expect_jump): Fix mistake in my
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 17 Jan 2004 23:49:44 +0000 (23:49 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 17 Jan 2004 23:49:44 +0000 (23:49 +0000)
last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76064 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/builtins.c

index 3f71bd5..38aed72 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-17  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_expect_jump): Fix mistake in my
+       last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
+
 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
 
        * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
index 5669f00..d34cbd6 100644 (file)
@@ -4492,16 +4492,16 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label)
 
              /* First check if we recognize any of the labels.  */
              if (GET_CODE (then_dest) == LABEL_REF
-                 && XEXP (then_dest, 1) == if_true_label)
+                 && XEXP (then_dest, 0) == if_true_label)
                taken = 1;
              else if (GET_CODE (then_dest) == LABEL_REF
-                      && XEXP (then_dest, 1) == if_false_label)
+                      && XEXP (then_dest, 0) == if_false_label)
                taken = 0;
              else if (GET_CODE (else_dest) == LABEL_REF
-                      && XEXP (else_dest, 1) == if_false_label)
+                      && XEXP (else_dest, 0) == if_false_label)
                taken = 1;
              else if (GET_CODE (else_dest) == LABEL_REF
-                      && XEXP (else_dest, 1) == if_true_label)
+                      && XEXP (else_dest, 0) == if_true_label)
                taken = 0;
              /* Otherwise check where we drop through.  */
              else if (else_dest == pc_rtx)
@@ -4511,7 +4511,7 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label)
 
                  if (next && GET_CODE (next) == JUMP_INSN
                      && any_uncondjump_p (next))
-                   next = XEXP (SET_SRC (pc_set (next)), 1);
+                   next = XEXP (SET_SRC (pc_set (next)), 0);
 
                  /* NEXT is either a CODE_LABEL, NULL_RTX or something
                     else that can't possibly match either target label.  */
@@ -4527,7 +4527,7 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label)
 
                  if (next && GET_CODE (next) == JUMP_INSN
                      && any_uncondjump_p (next))
-                   next = XEXP (SET_SRC (pc_set (next)), 1);
+                   next = XEXP (SET_SRC (pc_set (next)), 0);
 
                  if (next == if_false_label)
                    taken = 0;