diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Transforms/PruneEH/simplenoreturntest.ll | 20 | ||||
-rw-r--r-- | llvm/test/Transforms/PruneEH/simpletest.ll | 19 | ||||
-rw-r--r-- | llvm/test/Transforms/PruneEH/simpletest.llx | 15 |
3 files changed, 27 insertions, 27 deletions
diff --git a/llvm/test/Transforms/PruneEH/simplenoreturntest.ll b/llvm/test/Transforms/PruneEH/simplenoreturntest.ll index 4a998b1cc36..d2bd50cf5da 100644 --- a/llvm/test/Transforms/PruneEH/simplenoreturntest.ll +++ b/llvm/test/Transforms/PruneEH/simplenoreturntest.ll @@ -1,17 +1,13 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -prune-eh | llvm-dis | \ -; RUN: not grep {ret i32} +; RUN: llvm-as < %s | opt -prune-eh | llvm-dis | not grep {ret i32} -void %noreturn() { - unwind -} +declare void @noreturn() noreturn; -int %caller() { - ; noreturn never returns, so the ret is unreachable. - call void %noreturn() - ret int 17 +define i32 @caller() { + call void @noreturn( ) + ret i32 17 } -int %caller2() { - %T = call int %caller() - ret int %T ;; this is also unreachable! +define i32 @caller2() { + %T = call i32 @caller( ) ; <i32> [#uses=1] + ret i32 %T } diff --git a/llvm/test/Transforms/PruneEH/simpletest.ll b/llvm/test/Transforms/PruneEH/simpletest.ll new file mode 100644 index 00000000000..678e8d76b68 --- /dev/null +++ b/llvm/test/Transforms/PruneEH/simpletest.ll @@ -0,0 +1,19 @@ +; RUN: llvm-as < %s | opt -prune-eh | llvm-dis | not grep invoke + +declare void @nounwind() nounwind + +define internal void @foo() { + call void @nounwind() + ret void +} + +define i32 @caller() { + invoke void @foo( ) + to label %Normal unwind label %Except + +Normal: ; preds = %0 + ret i32 0 + +Except: ; preds = %0 + ret i32 1 +} diff --git a/llvm/test/Transforms/PruneEH/simpletest.llx b/llvm/test/Transforms/PruneEH/simpletest.llx deleted file mode 100644 index c368534eda8..00000000000 --- a/llvm/test/Transforms/PruneEH/simpletest.llx +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -prune-eh | llvm-dis | not grep invoke - -implementation - -internal void %foo() { - ret void ; does not throw -} - -int %caller() { - invoke void %foo() to label %Normal except label %Except -Normal: - ret int 0 -Except: - ret int 1 -} |