1*a538b0f0SEhsan Amiri; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-gnu-linux | FileCheck %s 2934361a4SHal Finkel 3934361a4SHal Finkeldefine void @test_shadow_optimization() { 4934361a4SHal Finkelentry: 5934361a4SHal Finkel; Expect 12 bytes worth of nops here rather than 32: With the shadow optimization 6934361a4SHal Finkel; in place, 20 bytes will be consumed by the frame teardown and return instr. 7934361a4SHal Finkel; CHECK-LABEL: test_shadow_optimization: 8934361a4SHal Finkel 9934361a4SHal Finkel; CHECK: nop 10934361a4SHal Finkel; CHECK-NEXT: nop 11934361a4SHal Finkel; CHECK-NEXT: nop 12934361a4SHal Finkel; CHECK-NOT: nop 13934361a4SHal Finkel; CHECK: addi 1, 1, 64 14934361a4SHal Finkel; CHECK: ld [[REG1:[0-9]+]], 16(1) 15934361a4SHal Finkel; CHECK: ld 31, -8(1) 16934361a4SHal Finkel; CHECK: mtlr [[REG1]] 17934361a4SHal Finkel; CHECK: blr 18934361a4SHal Finkel 1923af6484SDavid Blaikie tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 32) 20934361a4SHal Finkel ret void 21934361a4SHal Finkel} 22934361a4SHal Finkel 23934361a4SHal Finkeldeclare void @llvm.experimental.stackmap(i64, i32, ...) 24934361a4SHal Finkel 25