mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
e27e02b1a4
"the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions: -in vararg handling, registers are marked to be live, to not confuse the register scavenger -function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the register scavenger emergency spill slot, which is not used as there is no stack." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99819 91177308-0d34-0410-b5e6-96231b3b80d8
18 lines
471 B
LLVM
18 lines
471 B
LLVM
; RUN: llc < %s -march=cellspu -o %t1.s
|
|
; RUN: grep lqx %t1.s | count 4
|
|
; RUN: grep il %t1.s | grep -v file | count 7
|
|
; RUN: grep stqx %t1.s | count 2
|
|
|
|
define i32 @bigstack() nounwind {
|
|
entry:
|
|
%avar = alloca i32
|
|
%big_data = alloca [2048 x i32]
|
|
store i32 3840, i32* %avar, align 4
|
|
br label %return
|
|
|
|
return:
|
|
%retval = load i32* %avar
|
|
ret i32 %retval
|
|
}
|
|
|