aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-09-26 19:50:11 +0000
committerChris Lattner <sabre@nondot.org>2002-09-26 19:50:11 +0000
commit0a4e422d076446e68319ab6d8a088df1c02f313d (patch)
tree127479975888e8d47df55ca387992a7afba84fb1
parent99a57216a935a512c418032f590a4660bad9d846 (diff)
Checkin the simple features tests for the preheader insertion pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3952 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/LoopPreheaders/Makefile10
-rw-r--r--test/Transforms/LoopPreheaders/basictest.ll17
-rw-r--r--test/Transforms/LoopPreheaders/hardertest.ll17
-rw-r--r--test/Transforms/LoopSimplify/basictest.ll17
-rw-r--r--test/Transforms/LoopSimplify/hardertest.ll17
5 files changed, 78 insertions, 0 deletions
diff --git a/test/Transforms/LoopPreheaders/Makefile b/test/Transforms/LoopPreheaders/Makefile
new file mode 100644
index 0000000000..91acd4d481
--- /dev/null
+++ b/test/Transforms/LoopPreheaders/Makefile
@@ -0,0 +1,10 @@
+
+LEVEL = ../../../..
+include $(LEVEL)/test/Makefile.tests
+
+TESTS := $(wildcard *.ll)
+
+all:: $(addprefix Output/, $(TESTS:%.ll=%.ll.out))
+
+Output/%.ll.out: %.ll Output/.dir $(LOPT)
+ -$(TESTRUNR) $<
diff --git a/test/Transforms/LoopPreheaders/basictest.ll b/test/Transforms/LoopPreheaders/basictest.ll
new file mode 100644
index 0000000000..15402190d0
--- /dev/null
+++ b/test/Transforms/LoopPreheaders/basictest.ll
@@ -0,0 +1,17 @@
+; RUN: as < %s | opt -preheaders
+
+implementation
+
+; This function should get a preheader inserted before BB3, that is jumped
+; to by BB1 & BB2
+;
+void "test"()
+begin
+ br bool true, label %BB1, label %BB2
+BB1: br label %BB3
+BB2: br label %BB3
+
+
+BB3:
+ br label %BB3
+end
diff --git a/test/Transforms/LoopPreheaders/hardertest.ll b/test/Transforms/LoopPreheaders/hardertest.ll
new file mode 100644
index 0000000000..7c11fbaa05
--- /dev/null
+++ b/test/Transforms/LoopPreheaders/hardertest.ll
@@ -0,0 +1,17 @@
+; RUN: as < %s | opt -preheaders
+
+void %foo(bool %C) {
+ br bool %C, label %T, label %F
+T:
+ br label %Loop
+F:
+ br label %Loop
+
+Loop: ; Two backedges, two incoming edges.
+ %Val = phi int [0, %T], [1, %F], [2, %Loop], [3, %L2]
+
+ br bool %C, label %Loop, label %L2
+
+L2:
+ br label %Loop
+}
diff --git a/test/Transforms/LoopSimplify/basictest.ll b/test/Transforms/LoopSimplify/basictest.ll
new file mode 100644
index 0000000000..15402190d0
--- /dev/null
+++ b/test/Transforms/LoopSimplify/basictest.ll
@@ -0,0 +1,17 @@
+; RUN: as < %s | opt -preheaders
+
+implementation
+
+; This function should get a preheader inserted before BB3, that is jumped
+; to by BB1 & BB2
+;
+void "test"()
+begin
+ br bool true, label %BB1, label %BB2
+BB1: br label %BB3
+BB2: br label %BB3
+
+
+BB3:
+ br label %BB3
+end
diff --git a/test/Transforms/LoopSimplify/hardertest.ll b/test/Transforms/LoopSimplify/hardertest.ll
new file mode 100644
index 0000000000..7c11fbaa05
--- /dev/null
+++ b/test/Transforms/LoopSimplify/hardertest.ll
@@ -0,0 +1,17 @@
+; RUN: as < %s | opt -preheaders
+
+void %foo(bool %C) {
+ br bool %C, label %T, label %F
+T:
+ br label %Loop
+F:
+ br label %Loop
+
+Loop: ; Two backedges, two incoming edges.
+ %Val = phi int [0, %T], [1, %F], [2, %Loop], [3, %L2]
+
+ br bool %C, label %Loop, label %L2
+
+L2:
+ br label %Loop
+}