Add testcase for when there is no loop header
authorChris Lattner <sabre@nondot.org>
Fri, 10 May 2002 22:43:26 +0000 (22:43 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 10 May 2002 22:43:26 +0000 (22:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2611 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/LICM/no-preheader-test.ll [new file with mode: 0644]

diff --git a/test/Transforms/LICM/no-preheader-test.ll b/test/Transforms/LICM/no-preheader-test.ll
new file mode 100644 (file)
index 0000000..eb0773f
--- /dev/null
@@ -0,0 +1,21 @@
+; Test that LICM works when there is not a loop-preheader
+; RUN: as < %s | opt -licm | dis
+
+void "testfunc"(int %i, bool %ifcond) {
+       br bool %ifcond, label %Then, label %Else
+Then:
+       br label %Loop
+Else:
+       br label %Loop
+
+Loop:
+       %j = phi uint [0, %Then], [12, %Else], [%Next, %Loop]
+       %i = cast int %i to uint
+       %i2 = mul uint %i, 17
+       %Next = add uint %j, %i2
+       %cond = seteq uint %Next, 0
+       br bool %cond, label %Out, label %Loop
+
+Out:
+       ret void
+}