aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/SCCP
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-11-11 01:16:15 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-11-11 01:16:15 +0000
commitb80f778bd315e5c37b987c3203c6d40bd9c3bfe6 (patch)
tree1098813e6a0c0259247f128e784f38fae1c15402 /test/Transforms/SCCP
parentcf3b89f9a83e46494fba73dd7754df03e95b2b15 (diff)
downloadexternal_llvm-b80f778bd315e5c37b987c3203c6d40bd9c3bfe6.zip
external_llvm-b80f778bd315e5c37b987c3203c6d40bd9c3bfe6.tar.gz
external_llvm-b80f778bd315e5c37b987c3203c6d40bd9c3bfe6.tar.bz2
Get rid of an optimization in SCCP which appears to have many issues. Specifically, it doesn't handle many cases involving undef correctly, and it is missing other checks which
lead to it trying to re-mark a value marked as a constant with a different value. It also appears to trigger very rarely. Fixes PR11357. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144352 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/SCCP')
-rw-r--r--test/Transforms/SCCP/phitest.ll20
1 files changed, 0 insertions, 20 deletions
diff --git a/test/Transforms/SCCP/phitest.ll b/test/Transforms/SCCP/phitest.ll
deleted file mode 100644
index 4c5c3dc..0000000
--- a/test/Transforms/SCCP/phitest.ll
+++ /dev/null
@@ -1,20 +0,0 @@
-; RUN: opt < %s -sccp -dce -simplifycfg -S | not grep br
-
-define i32 @test(i32 %param) {
-entry:
- %tmp.1 = icmp ne i32 %param, 0 ; <i1> [#uses=1]
- br i1 %tmp.1, label %endif.0, label %else
-else: ; preds = %entry
- br label %endif.0
-endif.0: ; preds = %else, %entry
- %a.0 = phi i32 [ 2, %else ], [ 3, %entry ] ; <i32> [#uses=1]
- %b.0 = phi i32 [ 3, %else ], [ 2, %entry ] ; <i32> [#uses=1]
- %tmp.5 = add i32 %a.0, %b.0 ; <i32> [#uses=1]
- %tmp.7 = icmp ne i32 %tmp.5, 5 ; <i1> [#uses=1]
- br i1 %tmp.7, label %UnifiedReturnBlock, label %endif.1
-endif.1: ; preds = %endif.0
- ret i32 0
-UnifiedReturnBlock: ; preds = %endif.0
- ret i32 2
-}
-