mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-27 13:30:05 +00:00
26cc5bea39
Reduce the number of nops emitted for stackmap shadows on AArch64 by counting non-stackmap instructions up to the next branch target towards the requested shadow. <rdar://problem/14959522> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223156 91177308-0d34-0410-b5e6-96231b3b80d8
16 lines
511 B
LLVM
16 lines
511 B
LLVM
; RUN: llc < %s -mtriple=arm64-apple-darwin | FileCheck %s
|
|
|
|
define void @test_shadow_optimization() {
|
|
entry:
|
|
; Expect 8 bytes worth of nops here rather than 16: With the shadow optimization
|
|
; in place, 8 bytes will be consumed by the frame teardown and return instr.
|
|
; CHECK-LABEL: test_shadow_optimization:
|
|
; CHECK: nop
|
|
; CHECK-NEXT: nop
|
|
; CHECK-NOT: nop
|
|
tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 0, i32 16)
|
|
ret void
|
|
}
|
|
|
|
declare void @llvm.experimental.stackmap(i64, i32, ...)
|