Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AArch64/statepoint-call-lowering.ll
Show First 20 Lines • Show All 148 Lines • ▼ Show 20 Lines | |||||
; CHECK-NEXT: bl consume | ; CHECK-NEXT: bl consume | ||||
; CHECK-NEXT: b .LBB8_3 | ; CHECK-NEXT: b .LBB8_3 | ||||
; CHECK-NEXT: .LBB8_2: | ; CHECK-NEXT: .LBB8_2: | ||||
; CHECK-NEXT: mov w19, #1 | ; CHECK-NEXT: mov w19, #1 | ||||
; CHECK-NEXT: .LBB8_3: // %common.ret | ; CHECK-NEXT: .LBB8_3: // %common.ret | ||||
; CHECK-NEXT: and w0, w19, #0x1 | ; CHECK-NEXT: and w0, w19, #0x1 | ||||
; CHECK-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload | ; CHECK-NEXT: ldp x20, x19, [sp, #16] // 16-byte Folded Reload | ||||
; CHECK-NEXT: ldr x30, [sp], #32 // 8-byte Folded Reload | ; CHECK-NEXT: ldr x30, [sp], #32 // 8-byte Folded Reload | ||||
; CHECK-NEXT: .cfi_adjust_cfa_offset -32 | |||||
; CHECK-NEXT: ret | ; CHECK-NEXT: ret | ||||
entry: | entry: | ||||
%safepoint_token = tail call token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i1f(i64 0, i32 0, i1 ()* @return_i1, i32 0, i32 0, i32 0, i32 0) ["gc-live" (i32 addrspace(1)* %a)] | %safepoint_token = tail call token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i1f(i64 0, i32 0, i1 ()* @return_i1, i32 0, i32 0, i32 0, i32 0) ["gc-live" (i32 addrspace(1)* %a)] | ||||
br i1 %external_cond, label %left, label %right | br i1 %external_cond, label %left, label %right | ||||
left: | left: | ||||
%call1 = call i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(token %safepoint_token, i32 0, i32 0) | %call1 = call i32 addrspace(1)* @llvm.experimental.gc.relocate.p1i32(token %safepoint_token, i32 0, i32 0) | ||||
%call2 = call zeroext i1 @llvm.experimental.gc.result.i1(token %safepoint_token) | %call2 = call zeroext i1 @llvm.experimental.gc.result.i1(token %safepoint_token) | ||||
▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines |