83
|
1 ; RUN: llc < %s -mtriple=powerpc64-unknown-gnu-linux | FileCheck %s
|
|
2
|
|
3 define void @test_shadow_optimization() {
|
|
4 entry:
|
|
5 ; Expect 12 bytes worth of nops here rather than 32: With the shadow optimization
|
|
6 ; in place, 20 bytes will be consumed by the frame teardown and return instr.
|
|
7 ; CHECK-LABEL: test_shadow_optimization:
|
|
8
|
|
9 ; CHECK: nop
|
|
10 ; CHECK-NEXT: nop
|
|
11 ; CHECK-NEXT: nop
|
|
12 ; CHECK-NOT: nop
|
|
13 ; CHECK: addi 1, 1, 64
|
|
14 ; CHECK: ld [[REG1:[0-9]+]], 16(1)
|
|
15 ; CHECK: ld 31, -8(1)
|
|
16 ; CHECK: mtlr [[REG1]]
|
|
17 ; CHECK: blr
|
|
18
|
95
|
19 tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 32)
|
83
|
20 ret void
|
|
21 }
|
|
22
|
|
23 declare void @llvm.experimental.stackmap(i64, i32, ...)
|
|
24
|