aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-05-10 22:43:26 +0000
committerChris Lattner <sabre@nondot.org>2002-05-10 22:43:26 +0000
commitfe8f5b5ad79d20f0f62dae3d40dcd17734f94e13 (patch)
tree9dd0086a561063e6bcecbf55043e8e10af38bb74
parent8672a4eb8cb09a0ef90bf3dc4b3462aff2bd72ae (diff)
Add testcase for when there is no loop header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2611 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/LICM/no-preheader-test.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Transforms/LICM/no-preheader-test.ll b/test/Transforms/LICM/no-preheader-test.ll
new file mode 100644
index 0000000000..eb0773f7e1
--- /dev/null
+++ b/test/Transforms/LICM/no-preheader-test.ll
@@ -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
+}