brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.8 KiB · 423928d Raw
190 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -run-pass=prologepilog %s -o - | FileCheck %s3 4--- |5  target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"6  target triple = "thumbv7m-none-eabi"7 8  define i32 @testpos() {9  entry:10    %a = alloca i32, align 411    call void @other(ptr %a)12    %b = load i32, ptr %a, align 413    ret i32 %b14  }15  define i32 @testneg4() {16  entry:17    %a = alloca i32, align 418    call void @other(ptr %a)19    %b = load i32, ptr %a, align 420    ret i32 %b21  }22  define i32 @testneg8() {23  entry:24    %a = alloca i32, align 425    call void @other(ptr %a)26    %b = load i32, ptr %a, align 427    ret i32 %b28  }29 30  declare void @other(ptr)31 32...33---34name:            testpos35tracksRegLiveness: true36frameInfo:37  isFrameAddressTaken: false38  isReturnAddressTaken: false39  hasStackMap:     false40  hasPatchPoint:   false41  stackSize:       042  offsetAdjustment: 043  maxAlignment:    444  adjustsStack:    true45  hasCalls:        true46  stackProtector:  ''47  maxCallFrameSize: 048  cvBytesOfCalleeSavedRegisters: 049  hasOpaqueSPAdjustment: false50  hasVAStart:      false51  hasMustTailInVarArgFunc: false52  hasTailCall:     false53  localFrameSize:  454  savePoint:       []55  restorePoint:    []56stack:57  - { id: 0, name: a, type: default, offset: 0, size: 4, alignment: 4,58      stack-id: default, callee-saved-register: '', callee-saved-restored: true,59      local-offset: -4, debug-info-variable: '', debug-info-expression: '',60      debug-info-location: '' }61body:             |62  bb.0.entry:63    ; CHECK-LABEL: name: testpos64    ; CHECK: liveins: $r7, $lr65    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr67    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 868    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $lr, -469    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r7, -870    ; CHECK-NEXT: $sp = frame-setup tSUBspi $sp, 2, 14 /* CC::al */, $noreg71    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 1672    ; CHECK-NEXT: renamable $r0 = t2ADDri $sp, 4, 14 /* CC::al */, $noreg, $noreg73    ; CHECK-NEXT: tBL 14 /* CC::al */, $noreg, @other, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp74    ; CHECK-NEXT: renamable $r0 = t2LDRi12 $sp, 8, 14 /* CC::al */, $noreg :: (dereferenceable load (s32) from %ir.a)75    ; CHECK-NEXT: $sp = frame-destroy tADDspi $sp, 2, 14 /* CC::al */, $noreg76    ; CHECK-NEXT: $sp = frame-destroy t2LDMIA_RET $sp, 14 /* CC::al */, $noreg, def $r7, def $pc, implicit $r077    ADJCALLSTACKDOWN 0, 0, 14 /* CC::al */, $noreg, implicit-def dead $sp, implicit $sp78    renamable $r0 = t2ADDri %stack.0.a, 0, 14 /* CC::al */, $noreg, $noreg79    tBL 14 /* CC::al */, $noreg, @other, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp80    ADJCALLSTACKUP 0, -1, 14 /* CC::al */, $noreg, implicit-def dead $sp, implicit $sp81    renamable $r0 = t2LDRi12 %stack.0.a, 4, 14 /* CC::al */, $noreg :: (dereferenceable load (s32) from %ir.a)82    tBX_RET 14 /* CC::al */, $noreg, implicit $r083 84...85---86name:            testneg487tracksRegLiveness: true88frameInfo:89  isFrameAddressTaken: false90  isReturnAddressTaken: false91  hasStackMap:     false92  hasPatchPoint:   false93  stackSize:       094  offsetAdjustment: 095  maxAlignment:    496  adjustsStack:    true97  hasCalls:        true98  stackProtector:  ''99  maxCallFrameSize: 0100  cvBytesOfCalleeSavedRegisters: 0101  hasOpaqueSPAdjustment: false102  hasVAStart:      false103  hasMustTailInVarArgFunc: false104  hasTailCall:     false105  localFrameSize:  4106  savePoint:       []107  restorePoint:    []108stack:109  - { id: 0, name: a, type: default, offset: 0, size: 4, alignment: 4,110      stack-id: default, callee-saved-register: '', callee-saved-restored: true,111      local-offset: -4, debug-info-variable: '', debug-info-expression: '',112      debug-info-location: '' }113body:             |114  bb.0.entry:115    ; CHECK-LABEL: name: testneg4116    ; CHECK: liveins: $r7, $lr117    ; CHECK-NEXT: {{  $}}118    ; CHECK-NEXT: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr119    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8120    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $lr, -4121    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r7, -8122    ; CHECK-NEXT: $sp = frame-setup tSUBspi $sp, 2, 14 /* CC::al */, $noreg123    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16124    ; CHECK-NEXT: renamable $r0 = t2ADDri $sp, 4, 14 /* CC::al */, $noreg, $noreg125    ; CHECK-NEXT: tBL 14 /* CC::al */, $noreg, @other, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp126    ; CHECK-NEXT: renamable $r0 = t2LDRi12 $sp, 0, 14 /* CC::al */, $noreg :: (dereferenceable load (s32) from %ir.a)127    ; CHECK-NEXT: $sp = frame-destroy tADDspi $sp, 2, 14 /* CC::al */, $noreg128    ; CHECK-NEXT: $sp = frame-destroy t2LDMIA_RET $sp, 14 /* CC::al */, $noreg, def $r7, def $pc, implicit $r0129    ADJCALLSTACKDOWN 0, 0, 14 /* CC::al */, $noreg, implicit-def dead $sp, implicit $sp130    renamable $r0 = t2ADDri %stack.0.a, 0, 14 /* CC::al */, $noreg, $noreg131    tBL 14 /* CC::al */, $noreg, @other, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp132    ADJCALLSTACKUP 0, -1, 14 /* CC::al */, $noreg, implicit-def dead $sp, implicit $sp133    renamable $r0 = t2LDRi8 %stack.0.a, -4, 14 /* CC::al */, $noreg :: (dereferenceable load (s32) from %ir.a)134    tBX_RET 14 /* CC::al */, $noreg, implicit $r0135 136...137---138name:            testneg8139tracksRegLiveness: true140frameInfo:141  isFrameAddressTaken: false142  isReturnAddressTaken: false143  hasStackMap:     false144  hasPatchPoint:   false145  stackSize:       0146  offsetAdjustment: 0147  maxAlignment:    4148  adjustsStack:    true149  hasCalls:        true150  stackProtector:  ''151  maxCallFrameSize: 0152  cvBytesOfCalleeSavedRegisters: 0153  hasOpaqueSPAdjustment: false154  hasVAStart:      false155  hasMustTailInVarArgFunc: false156  hasTailCall:     false157  localFrameSize:  4158  savePoint:       []159  restorePoint:    []160stack:161  - { id: 0, name: a, type: default, offset: 0, size: 4, alignment: 4,162      stack-id: default, callee-saved-register: '', callee-saved-restored: true,163      local-offset: -4, debug-info-variable: '', debug-info-expression: '',164      debug-info-location: '' }165body:             |166  bb.0.entry:167    ; CHECK-LABEL: name: testneg8168    ; CHECK: liveins: $r7, $lr169    ; CHECK-NEXT: {{  $}}170    ; CHECK-NEXT: $sp = frame-setup t2STMDB_UPD $sp, 14 /* CC::al */, $noreg, killed $r7, killed $lr171    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 8172    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $lr, -4173    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION offset $r7, -8174    ; CHECK-NEXT: $sp = frame-setup tSUBspi $sp, 2, 14 /* CC::al */, $noreg175    ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 16176    ; CHECK-NEXT: renamable $r0 = t2ADDri $sp, 4, 14 /* CC::al */, $noreg, $noreg177    ; CHECK-NEXT: tBL 14 /* CC::al */, $noreg, @other, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp178    ; CHECK-NEXT: renamable $r0 = t2LDRi8 $sp, -4, 14 /* CC::al */, $noreg :: (dereferenceable load (s32) from %ir.a)179    ; CHECK-NEXT: $sp = frame-destroy tADDspi $sp, 2, 14 /* CC::al */, $noreg180    ; CHECK-NEXT: $sp = frame-destroy t2LDMIA_RET $sp, 14 /* CC::al */, $noreg, def $r7, def $pc, implicit $r0181    ADJCALLSTACKDOWN 0, 0, 14 /* CC::al */, $noreg, implicit-def dead $sp, implicit $sp182    renamable $r0 = t2ADDri %stack.0.a, 0, 14 /* CC::al */, $noreg, $noreg183    tBL 14 /* CC::al */, $noreg, @other, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp184    ADJCALLSTACKUP 0, -1, 14 /* CC::al */, $noreg, implicit-def dead $sp, implicit $sp185    renamable $r0 = t2LDRi8 %stack.0.a, -8, 14 /* CC::al */, $noreg :: (dereferenceable load (s32) from %ir.a)186    tBX_RET 14 /* CC::al */, $noreg, implicit $r0187 188...189 190