correct suffix matching to search for s/l/t suffixes on
[oota-llvm.git] / test / Transforms / SimplifyCFG / switch_create.ll
index ba1b7d65dc2f4fc5518cdf626fc4f36b8cca2962..9b3aaf7f20deaf37f0697f8cc37ccc1696b3a043 100644 (file)
@@ -1,48 +1,47 @@
-; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep br
-
-declare void %foo1()
-declare void %foo2()
-
-void %test1(uint %V) {
-       %C1 = seteq uint %V, 4
-       %C2 = seteq uint %V, 17
-       %CN = or bool %C1, %C2
-       br bool %CN, label %T, label %F
-T:
-       call void %foo1()
-       ret void
-F:
-       call void %foo2()
-       ret void
+; RUN: opt < %s -simplifycfg -S | not grep br
+
+declare void @foo1()
+
+declare void @foo2()
+
+define void @test1(i32 %V) {
+        %C1 = icmp eq i32 %V, 4         ; <i1> [#uses=1]
+        %C2 = icmp eq i32 %V, 17                ; <i1> [#uses=1]
+        %CN = or i1 %C1, %C2            ; <i1> [#uses=1]
+        br i1 %CN, label %T, label %F
+T:              ; preds = %0
+        call void @foo1( )
+        ret void
+F:              ; preds = %0
+        call void @foo2( )
+        ret void
 }
 
-
-void %test2(int %V) {
-       %C1 = setne int %V, 4
-       %C2 = setne int %V, 17
-       %CN = and bool %C1, %C2
-       br bool %CN, label %T, label %F
-T:
-       call void %foo1()
-       ret void
-F:
-       call void %foo2()
-       ret void
+define void @test2(i32 %V) {
+        %C1 = icmp ne i32 %V, 4         ; <i1> [#uses=1]
+        %C2 = icmp ne i32 %V, 17                ; <i1> [#uses=1]
+        %CN = and i1 %C1, %C2           ; <i1> [#uses=1]
+        br i1 %CN, label %T, label %F
+T:              ; preds = %0
+        call void @foo1( )
+        ret void
+F:              ; preds = %0
+        call void @foo2( )
+        ret void
 }
 
-
-void %test3(int %V) {
-       %C1 = seteq int %V, 4
-       br bool %C1, label %T, label %N
-N:
-       %C2 = seteq int %V, 17
-       br bool %C2, label %T, label %F
-T:
-       call void %foo1()
-       ret void
-F:
-       call void %foo2()
-       ret void
+define void @test3(i32 %V) {
+        %C1 = icmp eq i32 %V, 4         ; <i1> [#uses=1]
+        br i1 %C1, label %T, label %N
+N:              ; preds = %0
+        %C2 = icmp eq i32 %V, 17                ; <i1> [#uses=1]
+        br i1 %C2, label %T, label %F
+T:              ; preds = %N, %0
+        call void @foo1( )
+        ret void
+F:              ; preds = %N
+        call void @foo2( )
+        ret void
 }