Fix test.
[oota-llvm.git] / test / Transforms / TailDup / if-tail-dup.ll
index 87c902762784f3733ecf17b876b3a6398ea35d50..2e4f5be38d1d2b71161646a8914aa0cda1aec1cb 100644 (file)
@@ -1,6 +1,6 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -tailduplicate | \
-; RUN:   llc -march=x86 -o %t -f
-; RUN: grep {je } %t
+; RUN: opt < %s -tailduplicate | \
+; RUN:   llc -march=x86 -o %t
+; RUN: grep {\\\<je\\\>} %t
 ; RUN: not grep jmp %t
 ; END.
 ; This should have no unconditional jumps in it.  The C source is:
 ;  if (c & 8)  P[3] = 1;
 ;}
 
-implementation
-
-void %foo(int %c, int* %P) {
+define void @foo(i32 %c, i32* %P) {
 entry:
-        %tmp1 = and int %c, 1           ; <int> [#uses=1]
-        %tmp1 = seteq int %tmp1, 0              ; <bool> [#uses=1]
-        br bool %tmp1, label %cond_next, label %cond_true
-
-cond_true:              ; preds = %entry
-        store int 1, int* %P
-        br label %cond_next
-
-cond_next:              ; preds = %entry, %cond_true
-        %tmp5 = and int %c, 2           ; <int> [#uses=1]
-        %tmp5 = seteq int %tmp5, 0              ; <bool> [#uses=1]
-        br bool %tmp5, label %cond_next10, label %cond_true6
-
-cond_true6:             ; preds = %cond_next
-        %tmp8 = getelementptr int* %P, int 1            ; <int*> [#uses=1]
-        store int 1, int* %tmp8
-        br label %cond_next10
-
-cond_next10:            ; preds = %cond_next, %cond_true6
-        %tmp13 = and int %c, 4          ; <int> [#uses=1]
-        %tmp13 = seteq int %tmp13, 0            ; <bool> [#uses=1]
-        br bool %tmp13, label %cond_next18, label %cond_true14
-
-cond_true14:            ; preds = %cond_next10
-        %tmp16 = getelementptr int* %P, int 2           ; <int*> [#uses=1]
-        store int 1, int* %tmp16
-        br label %cond_next18
-
-cond_next18:            ; preds = %cond_next10, %cond_true14
-        %tmp21 = and int %c, 8          ; <int> [#uses=1]
-        %tmp21 = seteq int %tmp21, 0            ; <bool> [#uses=1]
-        br bool %tmp21, label %return, label %cond_true22
-
-cond_true22:            ; preds = %cond_next18
-        %tmp24 = getelementptr int* %P, int 3           ; <int*> [#uses=1]
-        store int 1, int* %tmp24
-        ret void
-
-return:         ; preds = %cond_next18
-        ret void
+       %tmp1 = and i32 %c, 1           ; <i32> [#uses=1]
+       %tmp1.upgrd.1 = icmp eq i32 %tmp1, 0            ; <i1> [#uses=1]
+       br i1 %tmp1.upgrd.1, label %cond_next, label %cond_true
+cond_true:             ; preds = %entry
+       store i32 1, i32* %P
+       br label %cond_next
+cond_next:             ; preds = %cond_true, %entry
+       %tmp5 = and i32 %c, 2           ; <i32> [#uses=1]
+       %tmp5.upgrd.2 = icmp eq i32 %tmp5, 0            ; <i1> [#uses=1]
+       br i1 %tmp5.upgrd.2, label %cond_next10, label %cond_true6
+cond_true6:            ; preds = %cond_next
+       %tmp8 = getelementptr i32* %P, i32 1            ; <i32*> [#uses=1]
+       store i32 1, i32* %tmp8
+       br label %cond_next10
+cond_next10:           ; preds = %cond_true6, %cond_next
+       %tmp13 = and i32 %c, 4          ; <i32> [#uses=1]
+       %tmp13.upgrd.3 = icmp eq i32 %tmp13, 0          ; <i1> [#uses=1]
+       br i1 %tmp13.upgrd.3, label %cond_next18, label %cond_true14
+cond_true14:           ; preds = %cond_next10
+       %tmp16 = getelementptr i32* %P, i32 2           ; <i32*> [#uses=1]
+       store i32 1, i32* %tmp16
+       br label %cond_next18
+cond_next18:           ; preds = %cond_true14, %cond_next10
+       %tmp21 = and i32 %c, 8          ; <i32> [#uses=1]
+       %tmp21.upgrd.4 = icmp eq i32 %tmp21, 0          ; <i1> [#uses=1]
+       br i1 %tmp21.upgrd.4, label %return, label %cond_true22
+cond_true22:           ; preds = %cond_next18
+       %tmp24 = getelementptr i32* %P, i32 3           ; <i32*> [#uses=1]
+       store i32 1, i32* %tmp24
+       ret void
+return:                ; preds = %cond_next18
+       ret void
 }
-
-