1; RUN: llc < %s -mtriple=powerpc64-unknown-gnu-linux | FileCheck %s 2 3define void @test_shadow_optimization() { 4entry: 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 23declare void @llvm.experimental.stackmap(i64, i32, ...) 24 25