Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
Show All 18 Lines | |||||
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill | ; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill | ||||
; CHECK-NEXT: .cfi_def_cfa_offset 16 | ; CHECK-NEXT: .cfi_def_cfa_offset 16 | ||||
; CHECK-NEXT: .cfi_offset w30, -16 | ; CHECK-NEXT: .cfi_offset w30, -16 | ||||
; CHECK-NEXT: cbz wzr, .LBB0_4 | ; CHECK-NEXT: cbz wzr, .LBB0_4 | ||||
; CHECK-NEXT: // %bb.2: // %b3 | ; CHECK-NEXT: // %bb.2: // %b3 | ||||
; CHECK-NEXT: ldr w8, [x8] | ; CHECK-NEXT: ldr w8, [x8] | ||||
; CHECK-NEXT: and w0, w8, #0x100 | ; CHECK-NEXT: and w0, w8, #0x100 | ||||
; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ||||
; CHECK-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; CHECK-NEXT: cbz w0, .LBB0_5 | ; CHECK-NEXT: cbz w0, .LBB0_5 | ||||
; CHECK-NEXT: .LBB0_3: // %common.ret.sink.split | ; CHECK-NEXT: .LBB0_3: // %common.ret.sink.split | ||||
; CHECK-NEXT: b extfunc | ; CHECK-NEXT: b extfunc | ||||
; CHECK-NEXT: .LBB0_4: // %b2 | ; CHECK-NEXT: .LBB0_4: // %b2 | ||||
; CHECK-NEXT: bl extfunc | ; CHECK-NEXT: bl extfunc | ||||
; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload | ||||
; CHECK-NEXT: .cfi_adjust_cfa_offset -16 | |||||
; CHECK-NEXT: cbnz w0, .LBB0_3 | ; CHECK-NEXT: cbnz w0, .LBB0_3 | ||||
; CHECK-NEXT: .LBB0_5: // %common.ret | ; CHECK-NEXT: .LBB0_5: // %common.ret | ||||
; CHECK-NEXT: ret | ; CHECK-NEXT: ret | ||||
%c0 = icmp sgt i64 0, 0 | %c0 = icmp sgt i64 0, 0 | ||||
br i1 %c0, label %b1, label %b6 | br i1 %c0, label %b1, label %b6 | ||||
b1: | b1: | ||||
br i1 undef, label %b3, label %b2 | br i1 undef, label %b3, label %b2 | ||||
Show All 28 Lines |