Test the noreturn function optimization
authorChris Lattner <sabre@nondot.org>
Wed, 27 Apr 2005 04:51:01 +0000 (04:51 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 27 Apr 2005 04:51:01 +0000 (04:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21586 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/PruneEH/simplenoreturntest.ll [new file with mode: 0644]

diff --git a/test/Transforms/PruneEH/simplenoreturntest.ll b/test/Transforms/PruneEH/simplenoreturntest.ll
new file mode 100644 (file)
index 0000000..29cf9e5
--- /dev/null
@@ -0,0 +1,16 @@
+; RUN: llvm-as < %s | opt -prune-eh | llvm-dis | not grep 'ret int'
+
+void %noreturn() {
+       unwind
+}
+
+int %caller() {
+        ; noreturn never returns, so the ret is unreachable.
+       call void %noreturn()
+       ret int 17
+}
+
+int %caller2() {
+       %T = call int %caller()
+       ret int %T            ;; this is also unreachable!
+}