summaryrefslogtreecommitdiff
path: root/test/Transforms/SCCP
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-05-20 20:48:24 +0000
committerChris Lattner <sabre@nondot.org>2002-05-20 20:48:24 +0000
commit7add8bdc08da804e400f7aaf39f5a7a97d177f48 (patch)
tree071872c174daf1a0cbf5d829af91be29602e7176 /test/Transforms/SCCP
parent618b4a11bbde3a9149e9735421d9eeee1784df69 (diff)
downloadllvm-7add8bdc08da804e400f7aaf39f5a7a97d177f48.tar.gz
llvm-7add8bdc08da804e400f7aaf39f5a7a97d177f48.tar.bz2
llvm-7add8bdc08da804e400f7aaf39f5a7a97d177f48.tar.xz
New testcase for bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2670 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/SCCP')
-rw-r--r--test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll b/test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll
new file mode 100644
index 0000000000..ec30c67aad
--- /dev/null
+++ b/test/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll
@@ -0,0 +1,20 @@
+; This test shows a case where SCCP is incorrectly eliminating the PHI node
+; because it thinks it has a constant 0 value, when it really doesn't.
+
+; RUN: as < %s | opt -sccp | dis | grep phi
+
+int "test"(int %A, bool %c) {
+bb1:
+ br label %BB2
+BB2:
+ %V = phi int [0, %bb1], [%A, %BB4]
+ br label %BB3
+
+BB3:
+ br bool %c, label %BB4, label %BB5
+BB4:
+ br label %BB2
+
+BB5:
+ ret int %V
+}