aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll19
-rw-r--r--test/Transforms/LowerSwitch/Makefile10
2 files changed, 29 insertions, 0 deletions
diff --git a/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll b/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll
new file mode 100644
index 0000000000..1c8dfefbcc
--- /dev/null
+++ b/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll
@@ -0,0 +1,19 @@
+; RUN: as < %s | opt -lowerswitch
+
+void %child(int %ct.1) {
+entry: ; No predecessors!
+ switch uint 0, label %return [
+ uint 2, label %UnifiedExitNode
+ uint 3, label %UnifiedExitNode
+ uint 0, label %return
+ uint 1, label %UnifiedExitNode
+ ]
+
+return: ; preds = %entry, %entry
+ %result.0 = phi %struct.quad_struct* [ null, %entry ], [ null, %entry ] ; <%struct.quad_struct*> [#uses=0]
+ br label %UnifiedExitNode
+
+UnifiedExitNode: ; preds = %entry, %return, %entry, %entry
+ ret void
+}
+
diff --git a/test/Transforms/LowerSwitch/Makefile b/test/Transforms/LowerSwitch/Makefile
new file mode 100644
index 0000000000..91acd4d481
--- /dev/null
+++ b/test/Transforms/LowerSwitch/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) $<