New testcase to check to see if LICM is performing scalar promotion
authorChris Lattner <sabre@nondot.org>
Sat, 22 Feb 2003 22:20:19 +0000 (22:20 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 22 Feb 2003 22:20:19 +0000 (22:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5607 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/LICM/scalar_promote.ll [new file with mode: 0644]

diff --git a/test/Transforms/LICM/scalar_promote.ll b/test/Transforms/LICM/scalar_promote.ll
new file mode 100644 (file)
index 0000000..817492e
--- /dev/null
@@ -0,0 +1,21 @@
+; RUN: as < %s | opt  -licm -stats 2>&1 | grep "memory locations promoted to register"
+
+%X = global int 7
+
+void %testfunc(int %i) {
+       br label %Loop
+
+Loop:
+       %j = phi uint [0, %0], [%Next, %Loop]
+
+       %x = load int* %X  ; Should promote this to a register inside of loop!
+       %x2 = add int %x, 1
+       store int %x2, int* %X
+
+       %Next = add uint %j, 1
+       %cond = seteq uint %Next, 0
+       br bool %cond, label %Out, label %Loop
+
+Out:
+       ret void
+}