New testcase
authorChris Lattner <sabre@nondot.org>
Fri, 25 Apr 2003 22:53:12 +0000 (22:53 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 25 Apr 2003 22:53:12 +0000 (22:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5951 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll [new file with mode: 0644]

diff --git a/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll b/test/Transforms/ADCE/2003-04-25-PHIPostDominateProblem.ll
new file mode 100644 (file)
index 0000000..994a63e
--- /dev/null
@@ -0,0 +1,37 @@
+; THis testcase caused an assertion failure because a PHI node did not have 
+; entries for it's postdominator.  But I think this can only happen when the 
+; PHI node is dead, so we just avoid patching up dead PHI nodes.
+
+; RUN: as < %s | opt -adce
+
+target endian = little
+target pointersize = 32
+
+implementation   ; Functions:
+
+void %dead_test8() {
+entry:         ; No predecessors!
+       br label %loopentry
+
+loopentry:             ; preds = %entry, %endif
+       %k.1 = phi int [ %k.0, %endif ], [ 0, %entry ]          ; <int> [#uses=1]
+       br bool false, label %no_exit, label %return
+
+no_exit:               ; preds = %loopentry
+       br bool false, label %then, label %else
+
+then:          ; preds = %no_exit
+       br label %endif
+
+else:          ; preds = %no_exit
+       %dec = add int %k.1, -1         ; <int> [#uses=1]
+       br label %endif
+
+endif:         ; preds = %else, %then
+       %k.0 = phi int [ %dec, %else ], [ 0, %then ]            ; <int> [#uses=1]
+       store int 2, int* null
+       br label %loopentry
+
+return:                ; preds = %loopentry
+       ret void
+}