mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-04 01:42:09 +00:00
New testcases for PR615
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22689 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3c304a3ba1
commit
8cc70cbea4
11
test/Transforms/TailCallElim/dont-tce-tail-marked-call.ll
Normal file
11
test/Transforms/TailCallElim/dont-tce-tail-marked-call.ll
Normal file
@ -0,0 +1,11 @@
|
||||
; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | grep 'call int %foo'
|
||||
|
||||
declare void %bar(int*)
|
||||
int %foo(uint %N) {
|
||||
%A = alloca int, uint %N ;; Should stay in entry block because of 'tail' marker
|
||||
store int 17, int* %A
|
||||
call void %bar(int* %A)
|
||||
|
||||
%X = tail call int %foo(uint %N) ;; Cannot -tailcallelim this without increasing stack usage!
|
||||
ret int %X
|
||||
}
|
11
test/Transforms/TailCallElim/move_alloca_for_tail_call.ll
Normal file
11
test/Transforms/TailCallElim/move_alloca_for_tail_call.ll
Normal file
@ -0,0 +1,11 @@
|
||||
; RUN: llvm-as < %s | opt -tailcallelim | llvm-dis | %prcontext alloca 1 | grep 'int %foo'
|
||||
|
||||
declare void %bar(int*)
|
||||
int %foo() {
|
||||
%A = alloca int ;; Should stay in entry block because of 'tail' marker
|
||||
store int 17, int* %A
|
||||
call void %bar(int* %A)
|
||||
|
||||
%X = tail call int %foo()
|
||||
ret int %X
|
||||
}
|
Loading…
Reference in New Issue
Block a user