mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-09 12:34:25 +00:00
1a347f2b7a
This extends the use of this attribute on ARM and AArch64 from SVN r325900 (where it was only checked for fixed stack allocations on ARM/AArch64, but for all stack allocations on X86). This also adds a testcase for the existing use of disabling the fixed stack probe with the attribute on ARM and AArch64. Differential Revision: https://reviews.llvm.org/D44291 llvm-svn: 327897
18 lines
489 B
LLVM
18 lines
489 B
LLVM
; RUN: llc -mtriple aarch64-windows -verify-machineinstrs -filetype asm -o - %s | FileCheck %s
|
|
|
|
define void @func(i64 %a) "no-stack-arg-probe" {
|
|
entry:
|
|
%0 = alloca i8, i64 %a, align 16
|
|
call void @func2(i8* nonnull %0)
|
|
ret void
|
|
}
|
|
|
|
declare void @func2(i8*)
|
|
|
|
; CHECK: add [[REG1:x[0-9]+]], x0, #15
|
|
; CHECK-NOT: bl __chkstk
|
|
; CHECK: mov [[REG2:x[0-9]+]], sp
|
|
; CHECK: and [[REG1]], [[REG1]], #0xfffffffffffffff0
|
|
; CHECK: sub [[REG3:x[0-9]+]], [[REG2]], [[REG1]]
|
|
; CHECK: mov sp, [[REG3]]
|