1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; RUN: llc -debug-only=stackmaps < %s 2>&1 | FileCheck --check-prefix=STACKMAPS %s 3*9880d681SAndroid Build Coastguard Worker; REQUIRES: asserts 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" 6*9880d681SAndroid Build Coastguard Workertarget triple = "x86_64-apple-macosx10.11.0" 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdeclare webkit_jscc i64 @llvm.experimental.deoptimize.i64(...) 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Workerdefine i64 @caller_1() { 11*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: _caller_1: 12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: {{.+cfi.+}} 13*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ##{{.+}} 14*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: pushq %rax 15*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: {{Ltmp[0-9]+}}: 16*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: {{.+cfi.+}} 17*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movl $1140457472, (%rsp) ## imm = 0x43FA0000 18*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movl $42, %eax 19*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: callq ___llvm_deoptimize 20*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: {{Ltmp[0-9]+}}: 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Workerentry: 23*9880d681SAndroid Build Coastguard Worker %v = call webkit_jscc i64(...) @llvm.experimental.deoptimize.i64(i32 42, float 500.0) [ "deopt"(i32 3) ] 24*9880d681SAndroid Build Coastguard Worker ret i64 %v 25*9880d681SAndroid Build Coastguard Worker} 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Worker; STACKMAPS: Stack Maps: callsites: 28*9880d681SAndroid Build Coastguard Worker; STACKMAPS-NEXT: Stack Maps: callsite 2882400015 29*9880d681SAndroid Build Coastguard Worker; STACKMAPS-NEXT: Stack Maps: has 4 locations 30*9880d681SAndroid Build Coastguard Worker; STACKMAPS-NEXT: Stack Maps: Loc 0: Constant 12 [encoding: .byte 4, .byte 8, .short 0, .int 12] 31*9880d681SAndroid Build Coastguard Worker; STACKMAPS-NEXT: Stack Maps: Loc 1: Constant 0 [encoding: .byte 4, .byte 8, .short 0, .int 0] 32*9880d681SAndroid Build Coastguard Worker; STACKMAPS-NEXT: Stack Maps: Loc 2: Constant 1 [encoding: .byte 4, .byte 8, .short 0, .int 1] 33*9880d681SAndroid Build Coastguard Worker; STACKMAPS-NEXT: Stack Maps: Loc 3: Constant 3 [encoding: .byte 4, .byte 8, .short 0, .int 3] 34*9880d681SAndroid Build Coastguard Worker; STACKMAPS-NEXT: Stack Maps: has 0 live-out registers 35