diff options
Diffstat (limited to 'test/Transforms/SimplifyCFG/switch_create.ll')
-rw-r--r-- | test/Transforms/SimplifyCFG/switch_create.ll | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/test/Transforms/SimplifyCFG/switch_create.ll b/test/Transforms/SimplifyCFG/switch_create.ll index 2d722918b9..4994cd3960 100644 --- a/test/Transforms/SimplifyCFG/switch_create.ll +++ b/test/Transforms/SimplifyCFG/switch_create.ll @@ -1,48 +1,47 @@ -; RUN: llvm-upgrade < %s | llvm-as | 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: llvm-as < %s | opt -simplifycfg | llvm-dis | 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 } |