brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · 0db3867 Raw
90 lines · plain
1# RUN: llc --run-pass=arm-branch-targets %s -o - | FileCheck %s2--- |3  target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"4  target triple = "thumbv8.1m.main-arm-unknown-eabi"5 6  define hidden i32 @_Z1fi(i32 %x) "sign-return-address"="non-leaf" "sign-return-address-key"="a_key" "branch-target-enforcement" {7  entry:8    %add = add nsw i32 %x, 19    %call = tail call i32 @_Z1gi(i32 %add)10    %sub = add nsw i32 %call, -111    ret i32 %sub12  }13 14  declare dso_local i32 @_Z1gi(i32)15 16...17---18name:            _Z1fi19alignment:       420exposesReturnsTwice: false21legalized:       false22regBankSelected: false23selected:        false24failedISel:      false25tracksRegLiveness: true26hasWinCFI:       false27registers:       []28liveins:29  - { reg: '$r0', virtual-reg: '' }30frameInfo:31  isFrameAddressTaken: false32  isReturnAddressTaken: false33  hasStackMap:     false34  hasPatchPoint:   false35  stackSize:       1636  offsetAdjustment: 037  maxAlignment:    438  adjustsStack:    true39  hasCalls:        true40  stackProtector:  ''41  maxCallFrameSize: 042  cvBytesOfCalleeSavedRegisters: 043  hasOpaqueSPAdjustment: false44  hasVAStart:      false45  hasMustTailInVarArgFunc: false46  localFrameSize:  047  savePoint:       []48  restorePoint:    []49fixedStack:      []50stack:51  - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,52      stack-id: default, callee-saved-register: '$lr', callee-saved-restored: true,53      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }54  - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,55      stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true,56      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }57  - { id: 2, name: '', type: spill-slot, offset: -12, size: 4, alignment: 4,58      stack-id: default, callee-saved-register: '$r12', callee-saved-restored: true,59      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }60callSites:       []61debugValueSubstitutions: []62constants:       []63machineFunctionInfo: {}64body:             |65  bb.0.entry:66    liveins: $r0, $r7, $lr, $r1267 68    frame-setup t2PAC implicit-def $r12, implicit $lr, implicit $sp69    frame-setup tPUSH 14 /* CC::al */, $noreg, killed $r7, killed $lr, implicit-def $sp, implicit $sp70    frame-setup CFI_INSTRUCTION def_cfa_offset 871    frame-setup CFI_INSTRUCTION offset $lr, -472    frame-setup CFI_INSTRUCTION offset $r7, -873    early-clobber $sp = frame-setup t2STR_PRE killed $r12, $sp, -4, 14 /* CC::al */, $noreg74    frame-setup CFI_INSTRUCTION def_cfa_offset 1275    frame-setup CFI_INSTRUCTION offset $ra_auth_code, -1276    $sp = frame-setup tSUBspi $sp, 1, 14 /* CC::al */, $noreg77    frame-setup CFI_INSTRUCTION def_cfa_offset 1678    renamable $r0, dead $cpsr = nsw tADDi8 killed renamable $r0, 1, 14 /* CC::al */, $noreg79    tBL 14 /* CC::al */, $noreg, @_Z1gi, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $r0, implicit-def $sp, implicit-def $r080    renamable $r0, dead $cpsr = nsw tSUBi8 killed renamable $r0, 1, 14 /* CC::al */, $noreg81    $sp = frame-destroy tADDspi $sp, 1, 14 /* CC::al */, $noreg82    $r12, $sp = frame-destroy t2LDR_POST $sp, 4, 14 /* CC::al */, $noreg83    $sp = frame-destroy t2LDMIA_UPD $sp, 14 /* CC::al */, $noreg, def $r7, def $lr84    t2AUT implicit $r12, implicit $lr, implicit $sp85    tBX_RET 14 /* CC::al */, $noreg, implicit killed $r086 87...88# Check PAC is replaces with PACBTI and it has the frame-setup flag89# CHECK-LABEL: bb.0.entry:90# CHECK:       frame-setup t2PACBTI