mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
2b93d17560
- Function uses all scratch registers AND - Function does not use any callee saved registers AND - Stack size is too big to address with immediate offsets. In this case a register must be scavenged to calculate the address of a stack object, and the scavenger needs a spare register or emergency spill slot. llvm-svn: 97071
16 lines
867 B
LLVM
16 lines
867 B
LLVM
; RUN: llc < %s -O0 -relocation-model=pic -disable-fp-elim -mcpu=cortex-a8 -mattr=+vfp2
|
|
; This test creates a big stack frame without spilling any callee-saved registers.
|
|
; Make sure the whole stack frame is addrerssable wiothout scavenger crashes.
|
|
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"
|
|
target triple = "thumbv7-apple-darwin3.0.0-iphoneos"
|
|
|
|
define arm_apcscc void @FindMin(double* %panelTDEL, i8* %dclOfRow, i32 %numRows, i32 %numCols, double* %retMin_RES_TDEL) {
|
|
entry:
|
|
%panelTDEL.addr = alloca double*, align 4 ; <double**> [#uses=1]
|
|
%panelResTDEL = alloca [2560 x double], align 4 ; <[2560 x double]*> [#uses=0]
|
|
store double* %panelTDEL, double** %panelTDEL.addr
|
|
store double* %retMin_RES_TDEL, double** undef
|
|
store i32 0, i32* undef
|
|
unreachable
|
|
}
|