mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 03:32:10 +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…
x
Reference in New Issue
Block a user