1# RUN: llc -o - %s -mtriple=x86_64-- -run-pass=prologepilog 2>&1 | FileCheck %s 2--- | 3 define i64 @_Z3foob(i1 zeroext %cond) #0 { 4 ret i64 0 5 } 6 attributes #0 = {"frame-pointer"="all"} 7... 8--- 9# If the epilogue bb.1 is a return block, no .cfi_restore is 10# needed in it. 11# CHECK: bb.1: 12# CHECK-NOT: CFI_INSTRUCTION restore 13# CHECK: RET 0 14# CHECK: bb.2: 15# CHECK: RET 0 16name: _Z3foob 17alignment: 16 18tracksRegLiveness: true 19liveins: 20 - { reg: '$edi' } 21frameInfo: 22 maxAlignment: 1 23 hasCalls: true 24 savePoint: '%bb.1' 25 restorePoint: '%bb.1' 26machineFunctionInfo: {} 27body: | 28 bb.0: 29 liveins: $edi 30 31 TEST8rr renamable $dil, renamable $dil, implicit-def $eflags, implicit killed $edi 32 JCC_1 %bb.2, 4, implicit killed $eflags 33 JMP_1 %bb.1 34 35 bb.1: 36 renamable $rbx = IMPLICIT_DEF 37 renamable $r14 = IMPLICIT_DEF 38 renamable $r15 = IMPLICIT_DEF 39 renamable $r12 = IMPLICIT_DEF 40 renamable $r13 = IMPLICIT_DEF 41 dead $eax = MOV32r0 implicit-def dead $eflags, implicit-def $rax 42 RET 0, killed $rax 43 44 bb.2: 45 dead $eax = MOV32r0 implicit-def dead $eflags, implicit-def $rax 46 RET 0, killed $rax 47 48... 49