diff options
author | Duncan Sands <baldrick@free.fr> | 2007-11-22 21:40:06 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2007-11-22 21:40:06 +0000 |
commit | 05fde2e5e659bc2689f8363b344f5fe13f08680f (patch) | |
tree | 7c31fb9cacb7bcc58b13f388f8f382fe2a598467 /test/Transforms/ADCE | |
parent | 6325a0225057978107a1cf7e746f976dca35b4e5 (diff) | |
download | external_llvm-05fde2e5e659bc2689f8363b344f5fe13f08680f.zip external_llvm-05fde2e5e659bc2689f8363b344f5fe13f08680f.tar.gz external_llvm-05fde2e5e659bc2689f8363b344f5fe13f08680f.tar.bz2 |
Readonly/readnone functions are allowed to throw
exceptions, so don't turn invokes of them into
calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44278 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/ADCE')
-rw-r--r-- | test/Transforms/ADCE/dce_pure_invoke.ll | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/test/Transforms/ADCE/dce_pure_invoke.ll b/test/Transforms/ADCE/dce_pure_invoke.ll index 9604def..bd28df2 100644 --- a/test/Transforms/ADCE/dce_pure_invoke.ll +++ b/test/Transforms/ADCE/dce_pure_invoke.ll @@ -1,13 +1,15 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -adce | llvm-dis | not grep null +; RUN: llvm-as < %s | opt -adce | llvm-dis | grep null -declare int %strlen(sbyte*) +declare i32 @strlen(i8*) readnone -int %test() { - ;; Dead call should be deleted! - invoke int %strlen(sbyte *null) to label %Cont unwind label %Other -Cont: - ret int 0 -Other: - ret int 1 -} +define i32 @test() { + ; invoke of pure function should not be deleted! + invoke i32 @strlen( i8* null ) readnone + to label %Cont unwind label %Other ; <i32>:1 [#uses=0] + +Cont: ; preds = %0 + ret i32 0 +Other: ; preds = %0 + ret i32 1 +} |