1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=arm64-apple-darwin | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine void @test_shadow_optimization() { 4*9880d681SAndroid Build Coastguard Workerentry: 5*9880d681SAndroid Build Coastguard Worker; Expect 8 bytes worth of nops here rather than 16: With the shadow optimization 6*9880d681SAndroid Build Coastguard Worker; in place, 8 bytes will be consumed by the frame teardown and return instr. 7*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_shadow_optimization: 8*9880d681SAndroid Build Coastguard Worker; CHECK: nop 9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: nop 10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: nop 11*9880d681SAndroid Build Coastguard Worker tail call void (i64, i32, ...) @llvm.experimental.stackmap(i64 0, i32 16) 12*9880d681SAndroid Build Coastguard Worker ret void 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.experimental.stackmap(i64, i32, ...) 16