New testcase, corresponding to phi_promote.ll
authorChris Lattner <sabre@nondot.org>
Thu, 8 Apr 2004 19:59:22 +0000 (19:59 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 8 Apr 2004 19:59:22 +0000 (19:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12778 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/ScalarRepl/select_promote.ll [new file with mode: 0644]

diff --git a/test/Transforms/ScalarRepl/select_promote.ll b/test/Transforms/ScalarRepl/select_promote.ll
new file mode 100644 (file)
index 0000000..18b55a8
--- /dev/null
@@ -0,0 +1,17 @@
+; Test promotion of loads that use the result of a select instruction.
+
+; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep alloca
+
+int %main() {
+        %mem_tmp.0 = alloca int         ; <int*> [#uses=3]
+        %mem_tmp.1 = alloca int         ; <int*> [#uses=3]
+        store int 0, int* %mem_tmp.0
+        store int 1, int* %mem_tmp.1
+        %tmp.1.i = load int* %mem_tmp.1         ; <int> [#uses=1]
+        %tmp.3.i = load int* %mem_tmp.0         ; <int> [#uses=1]
+        %tmp.4.i = setle int %tmp.1.i, %tmp.3.i         ; <bool> [#uses=1]
+        %mem_tmp.i.0 = select bool %tmp.4.i, int* %mem_tmp.1, int* %mem_tmp.0           ; <int*> [#uses=1]
+        %tmp.3 = load int* %mem_tmp.i.0         ; <int> [#uses=1]
+        ret int %tmp.3
+}
+