1 ; RUN: llc -verify-machineinstrs < %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 19 tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 32) 20 ret void 21 } 22 23 declare void @llvm.experimental.stackmap(i64, i32, ...) 24 25