mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
8e0b335b01
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> llvm-svn: 223156
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, ...)
|