56 lines · plain
1# RUN: llc -o - %s -mtriple=x86_64-- -run-pass=prologepilog 2>&1 | FileCheck %s2--- |3 declare dso_local void @_Z3goov()4 define i64 @_Z3foob(i1 zeroext %cond) #0 {5 ret i64 06 }7 attributes #0 = {"frame-pointer"="all"}8...9---10# If the epilogue bb.1.if.then is not a return block, .cfi_restore is11# needed in it, otherwise bb.2.return will see different outgoing CFI12# information from its predecessors.13# CHECK: bb.1:14# CHECK: CFI_INSTRUCTION restore $rbx15# CHECK-NEXT: CFI_INSTRUCTION restore $r1216# CHECK-NEXT: CFI_INSTRUCTION restore $r1317# CHECK-NEXT: CFI_INSTRUCTION restore $r1418# CHECK-NEXT: CFI_INSTRUCTION restore $r1519# CHECK-NEXT: CFI_INSTRUCTION restore $rbp20# CHECK-NOT: RET 021# CHECK: bb.2:22# CHECK: RET 023name: _Z3foob24alignment: 1625tracksRegLiveness: true26liveins:27 - { reg: '$edi' }28frameInfo:29 maxAlignment: 130 hasCalls: true31 savePoint:32 - point: '%bb.1'33 restorePoint:34 - point: '%bb.1'35machineFunctionInfo: {}36body: |37 bb.0:38 liveins: $edi39 40 TEST8rr renamable $dil, renamable $dil, implicit-def $eflags, implicit killed $edi41 JCC_1 %bb.2, 4, implicit killed $eflags42 JMP_1 %bb.143 44 bb.1:45 renamable $rbx = IMPLICIT_DEF46 renamable $r14 = IMPLICIT_DEF47 renamable $r15 = IMPLICIT_DEF48 renamable $r12 = IMPLICIT_DEF49 renamable $r13 = IMPLICIT_DEF50 51 bb.2:52 dead $eax = MOV32r0 implicit-def dead $eflags, implicit-def $rax53 RET 0, killed $rax54 55...56