summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SimplifyCFG/switch_create.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-12-13 04:45:56 +0000
committerChris Lattner <sabre@nondot.org>2010-12-13 04:45:56 +0000
commita737721d1450ae2eb46cbe9fce07bcfdfea578ac (patch)
tree53f70db60906f97d213d65f1e89390a73ee10a7c /llvm/test/Transforms/SimplifyCFG/switch_create.ll
parent5a177e681e0f4cd6f28122ab1bd7e5b433487679 (diff)
downloadbcm5719-llvm-a737721d1450ae2eb46cbe9fce07bcfdfea578ac.tar.gz
bcm5719-llvm-a737721d1450ae2eb46cbe9fce07bcfdfea578ac.zip
merge two tests
llvm-svn: 121679
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/switch_create.ll')
-rw-r--r--llvm/test/Transforms/SimplifyCFG/switch_create.ll42
1 files changed, 42 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/switch_create.ll b/llvm/test/Transforms/SimplifyCFG/switch_create.ll
index e84bc379ee5..9edbf0f7500 100644
--- a/llvm/test/Transforms/SimplifyCFG/switch_create.ll
+++ b/llvm/test/Transforms/SimplifyCFG/switch_create.ll
@@ -111,3 +111,45 @@ lor.end: ; preds = %entry, %entry, %ent
; CHECK: i8 92, label %lor.end
; CHECK: ]
}
+
+
+define i1 @test6({ i32, i32 }* %I) {
+entry:
+ %tmp.1.i = getelementptr { i32, i32 }* %I, i64 0, i32 1 ; <i32*> [#uses=1]
+ %tmp.2.i = load i32* %tmp.1.i ; <i32> [#uses=6]
+ %tmp.2 = icmp eq i32 %tmp.2.i, 14 ; <i1> [#uses=1]
+ br i1 %tmp.2, label %shortcirc_done.4, label %shortcirc_next.0
+shortcirc_next.0: ; preds = %entry
+ %tmp.6 = icmp eq i32 %tmp.2.i, 15 ; <i1> [#uses=1]
+ br i1 %tmp.6, label %shortcirc_done.4, label %shortcirc_next.1
+shortcirc_next.1: ; preds = %shortcirc_next.0
+ %tmp.11 = icmp eq i32 %tmp.2.i, 16 ; <i1> [#uses=1]
+ br i1 %tmp.11, label %shortcirc_done.4, label %shortcirc_next.2
+shortcirc_next.2: ; preds = %shortcirc_next.1
+ %tmp.16 = icmp eq i32 %tmp.2.i, 17 ; <i1> [#uses=1]
+ br i1 %tmp.16, label %shortcirc_done.4, label %shortcirc_next.3
+shortcirc_next.3: ; preds = %shortcirc_next.2
+ %tmp.21 = icmp eq i32 %tmp.2.i, 18 ; <i1> [#uses=1]
+ br i1 %tmp.21, label %shortcirc_done.4, label %shortcirc_next.4
+shortcirc_next.4: ; preds = %shortcirc_next.3
+ %tmp.26 = icmp eq i32 %tmp.2.i, 19 ; <i1> [#uses=1]
+ br label %UnifiedReturnBlock
+shortcirc_done.4: ; preds = %shortcirc_next.3, %shortcirc_next.2, %shortcirc_next.1, %shortcirc_next.0, %entry
+ br label %UnifiedReturnBlock
+UnifiedReturnBlock: ; preds = %shortcirc_done.4, %shortcirc_next.4
+ %UnifiedRetVal = phi i1 [ %tmp.26, %shortcirc_next.4 ], [ true, %shortcirc_done.4 ] ; <i1> [#uses=1]
+ ret i1 %UnifiedRetVal
+
+; CHECK: @test6
+; CHECK: switch i32 %tmp.2.i, label %shortcirc_next.4 [
+; CHECK: i32 14, label %UnifiedReturnBlock
+; CHECK: i32 15, label %UnifiedReturnBlock
+; CHECK: i32 16, label %UnifiedReturnBlock
+; CHECK: i32 17, label %UnifiedReturnBlock
+; CHECK: i32 18, label %UnifiedReturnBlock
+; CHECK: i32 19, label %switch.edge
+; CHECK: ]
+
+}
+
+
OpenPOWER on IntegriCloud