summaryrefslogtreecommitdiff
path: root/test/Transforms/SCCP
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-08-16 21:12:35 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-08-16 21:12:35 +0000
commit1fc291f0d3681e062daed186a934c0bf0c59224b (patch)
tree961561f6d17169134de9f048e18dec897979f435 /test/Transforms/SCCP
parentc2408d3ce5fcd1fd4861772fdbe3b6447836e254 (diff)
downloadllvm-1fc291f0d3681e062daed186a934c0bf0c59224b.tar.gz
llvm-1fc291f0d3681e062daed186a934c0bf0c59224b.tar.bz2
llvm-1fc291f0d3681e062daed186a934c0bf0c59224b.tar.xz
Minor bug in SCCP found by inspection. (I don't think it's possible to hit this with a normal pass pipeline, but fixing for completeness.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137755 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/SCCP')
-rw-r--r--test/Transforms/SCCP/switch.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Transforms/SCCP/switch.ll b/test/Transforms/SCCP/switch.ll
new file mode 100644
index 0000000000..9f934237e6
--- /dev/null
+++ b/test/Transforms/SCCP/switch.ll
@@ -0,0 +1,13 @@
+; RUN: opt -S -sccp < %s | FileCheck %s
+
+; Make sure we always consider the default edge executable for a switch
+; with no cases.
+declare void @foo()
+define void @test1() {
+; CHECK: define void @test1
+; CHECK: call void @foo()
+ switch i32 undef, label %d []
+d:
+ call void @foo()
+ ret void
+}