summaryrefslogtreecommitdiff
path: root/test/Transforms/ADCE
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2007-11-22 21:40:06 +0000
committerDuncan Sands <baldrick@free.fr>2007-11-22 21:40:06 +0000
commit5ef7be79e0a9e2c05f84e2a98b6969dcabebf15d (patch)
tree7c31fb9cacb7bcc58b13f388f8f382fe2a598467 /test/Transforms/ADCE
parent5d814864133fd3be4414a043341508bcc2caa7b5 (diff)
downloadllvm-5ef7be79e0a9e2c05f84e2a98b6969dcabebf15d.tar.gz
llvm-5ef7be79e0a9e2c05f84e2a98b6969dcabebf15d.tar.bz2
llvm-5ef7be79e0a9e2c05f84e2a98b6969dcabebf15d.tar.xz
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.ll22
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 9604defb3b..bd28df2b5e 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
+}