projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[TRE] Merged several tests into the the test basic.ll.
[oota-llvm.git]
/
test
/
Transforms
/
TailCallElim
/
setjmp.ll
diff --git
a/test/Transforms/TailCallElim/setjmp.ll
b/test/Transforms/TailCallElim/setjmp.ll
index 35bb75dddb30ea55633ee0dfd4774fcd64202d97..4ce6ac7965e9995dd53be9fd439d016973f5ef83 100644
(file)
--- a/
test/Transforms/TailCallElim/setjmp.ll
+++ b/
test/Transforms/TailCallElim/setjmp.ll
@@
-1,10
+1,14
@@
; RUN: opt < %s -tailcallelim -S | FileCheck %s
; RUN: opt < %s -tailcallelim -S | FileCheck %s
-; Test that we don't tail call in a functions that calls setjmp.
+; Test that we don't tail call in a functions that calls returns_twice
+; functions.
+declare void @bar()
+
+; CHECK: foo1
; CHECK-NOT: tail call void @bar()
; CHECK-NOT: tail call void @bar()
-define void @foo(i32* %x) {
+define void @foo
1
(i32* %x) {
bb:
%tmp75 = tail call i32 @setjmp(i32* %x)
call void @bar()
bb:
%tmp75 = tail call i32 @setjmp(i32* %x)
call void @bar()
@@
-13,4
+17,13
@@
bb:
declare i32 @setjmp(i32*) returns_twice
declare i32 @setjmp(i32*) returns_twice
-declare void @bar()
+; CHECK: foo2
+; CHECK-NOT: tail call void @bar()
+
+define void @foo2(i32* %x) {
+bb:
+ %tmp75 = tail call i32 @zed2(i32* %x)
+ call void @bar()
+ ret void
+}
+declare i32 @zed2(i32*) returns_twice