llvm-mirror/test/CodeGen/AArch64/big-callframe.ll
Jun Bum Lim 3d75e98b8e Revert "AArch64: Omit callframe setup/destroy when not necessary"
This reverts commit r322917 due to multiple performance regressions in spec2006
and spec2017. XFAILed llvm/test/CodeGen/AArch64/big-callframe.ll which initially
motivated this change.

llvm-svn: 323683
2018-01-29 19:56:42 +00:00

17 lines
629 B
LLVM

; RUN: llc -o - %s -verify-machineinstrs | FileCheck %s
; XFAIL: *
; Make sure we use a frame pointer and fp relative addressing for the emergency
; spillslot when we have gigantic callframes.
; CHECK-LABEL: func:
; CHECK: stur {{.*}}, [x29, #{{.*}}] // 8-byte Folded Spill
; CHECK: ldur {{.*}}, [x29, #{{.*}}] // 8-byte Folded Reload
target triple = "aarch64--"
declare void @extfunc([4096 x i64]* byval %p)
define void @func([4096 x i64]* %z) {
%lvar = alloca [31 x i8]
%v = load volatile [31 x i8], [31 x i8]* %lvar
store volatile [31 x i8] %v, [31 x i8]* %lvar
call void @extfunc([4096 x i64]* byval %z)
ret void
}