aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-23 18:31:01 +0000
committerChris Lattner <sabre@nondot.org>2010-04-23 18:31:01 +0000
commita56c1c5d4c87896be2a04a855235cfa423252e32 (patch)
tree0c4dd08441eacc0f0d997b55bdc0773c8421c496 /test/Transforms
parent6275413ff5977a7950b775ecc8e8d55af191934d (diff)
downloadexternal_llvm-a56c1c5d4c87896be2a04a855235cfa423252e32.zip
external_llvm-a56c1c5d4c87896be2a04a855235cfa423252e32.tar.gz
external_llvm-a56c1c5d4c87896be2a04a855235cfa423252e32.tar.bz2
testcase for the bug that required a patch to be reverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102195 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/Inline/crash.ll31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/Transforms/Inline/crash.ll b/test/Transforms/Inline/crash.ll
index f34b44c..1df4d60 100644
--- a/test/Transforms/Inline/crash.ll
+++ b/test/Transforms/Inline/crash.ll
@@ -86,3 +86,34 @@ bb260:
lpad:
unwind
}
+
+
+
+;; This exposed a crash handling devirtualized calls.
+define void @f1(void ()* %f) ssp {
+entry:
+ call void %f()
+ ret void
+}
+
+define void @f4(i32 %size) ssp {
+entry:
+ invoke void @f1(void ()* @f3)
+ to label %invcont3 unwind label %lpad18
+
+invcont3: ; preds = %bb1
+ ret void
+
+lpad18: ; preds = %invcont3, %bb1
+ unreachable
+}
+
+define void @f3() ssp {
+entry:
+ unreachable
+}
+
+declare void @f5() ssp
+
+
+