summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-11-02 02:00:18 +0000
committerChris Lattner <sabre@nondot.org>2009-11-02 02:00:18 +0000
commitdb3311edc7ed4e6171f268a1f1967f0f65aac457 (patch)
tree52dcb0360bc9ac0c0e91159b01b9de553af5681f /llvm/test/Transforms
parentd263dbec7ab71b48a3a1365590881019d75c43bf (diff)
downloadbcm5719-llvm-db3311edc7ed4e6171f268a1f1967f0f65aac457.tar.gz
bcm5719-llvm-db3311edc7ed4e6171f268a1f1967f0f65aac457.zip
merge a test into store.ll
llvm-svn: 85771
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/InstCombine/store-merge.ll37
-rw-r--r--llvm/test/Transforms/InstCombine/store.ll45
2 files changed, 45 insertions, 37 deletions
diff --git a/llvm/test/Transforms/InstCombine/store-merge.ll b/llvm/test/Transforms/InstCombine/store-merge.ll
deleted file mode 100644
index 06d497d10db..00000000000
--- a/llvm/test/Transforms/InstCombine/store-merge.ll
+++ /dev/null
@@ -1,37 +0,0 @@
-; RUN: opt < %s -instcombine -S | \
-; RUN: grep {ret i32 %.toremerge} | count 2
-;; Simple sinking tests
-
-; "if then else"
-define i32 @test1(i1 %C) {
- %A = alloca i32
- br i1 %C, label %Cond, label %Cond2
-
-Cond:
- store i32 -987654321, i32* %A
- br label %Cont
-
-Cond2:
- store i32 47, i32* %A
- br label %Cont
-
-Cont:
- %V = load i32* %A
- ret i32 %V
-}
-
-; "if then"
-define i32 @test2(i1 %C) {
- %A = alloca i32
- store i32 47, i32* %A
- br i1 %C, label %Cond, label %Cont
-
-Cond:
- store i32 -987654321, i32* %A
- br label %Cont
-
-Cont:
- %V = load i32* %A
- ret i32 %V
-}
-
diff --git a/llvm/test/Transforms/InstCombine/store.ll b/llvm/test/Transforms/InstCombine/store.ll
index 3b8c0ab3030..54f16213178 100644
--- a/llvm/test/Transforms/InstCombine/store.ll
+++ b/llvm/test/Transforms/InstCombine/store.ll
@@ -19,3 +19,48 @@ define void @test2(i32* %P) {
; CHECK-NEXT: ret void
}
+;; Simple sinking tests
+
+; "if then else"
+define i32 @test3(i1 %C) {
+ %A = alloca i32
+ br i1 %C, label %Cond, label %Cond2
+
+Cond:
+ store i32 -987654321, i32* %A
+ br label %Cont
+
+Cond2:
+ store i32 47, i32* %A
+ br label %Cont
+
+Cont:
+ %V = load i32* %A
+ ret i32 %V
+; CHECK: @test3
+; CHECK-NOT: alloca
+; CHECK: Cont:
+; CHECK-NEXT: %storemerge = phi i32 [ 47, %Cond2 ], [ -987654321, %Cond ]
+; CHECK-NEXT: ret i32 %storemerge
+}
+
+; "if then"
+define i32 @test4(i1 %C) {
+ %A = alloca i32
+ store i32 47, i32* %A
+ br i1 %C, label %Cond, label %Cont
+
+Cond:
+ store i32 -987654321, i32* %A
+ br label %Cont
+
+Cont:
+ %V = load i32* %A
+ ret i32 %V
+; CHECK: @test4
+; CHECK-NOT: alloca
+; CHECK: Cont:
+; CHECK-NEXT: %storemerge = phi i32 [ -987654321, %Cond ], [ 47, %0 ]
+; CHECK-NEXT: ret i32 %storemerge
+}
+
OpenPOWER on IntegriCloud