brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.7 KiB · 18eb341 Raw
253 lines · plain
1# RUN: llc -mtriple=mipsel-unknown-linux-gnu -mattr=+micromips -mcpu=mips32r2 \2# RUN:     -verify-machineinstrs -run-pass micromips-reduce-size \3# RUN:      %s -o - | FileCheck %s4 5--- |6  define void @f1(ptr %adr, i32 %val) { ret void }7  define void @f2(ptr %adr, i32 %val) { ret void }8  define void @f3(ptr %adr, i32 %val) { ret void }9  define void @f4(ptr %adr, i32 %val) { ret void }10 11  declare ptr @f()12 13  ; Function Attrs: nounwind14  declare void @llvm.stackprotector(ptr, ptr)15...16---17# CHECK-LABEL: name: f118# CHECK-NOT: SWP_MM19# CHECK-NOT: LWP_MM20name:            f121alignment:       422exposesReturnsTwice: false23legalized:       false24regBankSelected: false25selected:        false26tracksRegLiveness: true27registers:28liveins:29  - { reg: '$a1', virtual-reg: '' }30frameInfo:31  isFrameAddressTaken: false32  isReturnAddressTaken: false33  hasStackMap:     false34  hasPatchPoint:   false35  stackSize:       2436  offsetAdjustment: 037  maxAlignment:    438  adjustsStack:    true39  hasCalls:        true40  stackProtector:  ''41  maxCallFrameSize: 1642  hasOpaqueSPAdjustment: false43  hasVAStart:      false44  hasMustTailInVarArgFunc: false45  savePoint:       []46  restorePoint:    []47fixedStack:48stack:49  - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,50      stack-id: default, callee-saved-register: '$ra', callee-saved-restored: true,51      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }52  - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,53      stack-id: default, callee-saved-register: '$s0', callee-saved-restored: true,54      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }55constants:56body:             |57  bb.0:58    liveins: $a1, $ra, $s059 60    $sp = ADDiu $sp, -2461    CFI_INSTRUCTION def_cfa_offset 2462    SW killed $ra, $sp, 20 :: (store (s32) into %stack.0)63    SW killed $s0, $sp, 16 :: (store (s32) into %stack.1)64    CFI_INSTRUCTION offset $ra_64, -465    CFI_INSTRUCTION offset $s0_64, -866    $s0 = MOVE16_MM $a167    JAL @f, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit-def dead $v068    $v0 = MOVE16_MM killed $s069    $s0 = LW $sp, 16 :: (load (s32) from %stack.1)70    $ra = LW $sp, 20 :: (load (s32) from %stack.0)71    $sp = ADDiu $sp, 2472    PseudoReturn undef $ra, implicit killed $v073 74...75---76# CHECK-LABEL: name: f277# CHECK-NOT: SWP_MM78# CHECK-NOT: LWP_MM79name:            f280alignment:       481exposesReturnsTwice: false82legalized:       false83regBankSelected: false84selected:        false85tracksRegLiveness: true86registers:87liveins:88  - { reg: '$a1', virtual-reg: '' }89frameInfo:90  isFrameAddressTaken: false91  isReturnAddressTaken: false92  hasStackMap:     false93  hasPatchPoint:   false94  stackSize:       2495  offsetAdjustment: 096  maxAlignment:    497  adjustsStack:    true98  hasCalls:        true99  stackProtector:  ''100  maxCallFrameSize: 16101  hasOpaqueSPAdjustment: false102  hasVAStart:      false103  hasMustTailInVarArgFunc: false104  savePoint:       []105  restorePoint:    []106fixedStack:107stack:108  - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,109      stack-id: default, callee-saved-register: '$ra', callee-saved-restored: true,110      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }111  - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,112      stack-id: default, callee-saved-register: '$s0', callee-saved-restored: true,113      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }114constants:115body:             |116  bb.0:117    liveins: $a1, $ra, $s0118 119    $sp = ADDiu $sp, -24120    CFI_INSTRUCTION def_cfa_offset 24121    SW_MM killed $ra, $sp, 20 :: (store (s32) into %stack.0)122    SW_MM killed $s0, $sp, 16 :: (store (s32) into %stack.1)123    CFI_INSTRUCTION offset $ra_64, -4124    CFI_INSTRUCTION offset $s0_64, -8125    $s0 = MOVE16_MM $a1126    JAL @f, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit-def dead $v0127    $v0 = MOVE16_MM killed $s0128    $s0 = LW_MM $sp, 16 :: (load (s32) from %stack.1)129    $ra = LW_MM $sp, 20 :: (load (s32) from %stack.0)130    $sp = ADDiu $sp, 24131    PseudoReturn undef $ra, implicit killed $v0132 133...134---135# CHECK-LABEL: name: f3136# CHECK-NOT: SWP_MM137# CHECK-NOT: LWP_MM138name:            f3139alignment:       4140exposesReturnsTwice: false141legalized:       false142regBankSelected: false143selected:        false144tracksRegLiveness: true145registers:146liveins:147  - { reg: '$a1', virtual-reg: '' }148frameInfo:149  isFrameAddressTaken: false150  isReturnAddressTaken: false151  hasStackMap:     false152  hasPatchPoint:   false153  stackSize:       24154  offsetAdjustment: 0155  maxAlignment:    4156  adjustsStack:    true157  hasCalls:        true158  stackProtector:  ''159  maxCallFrameSize: 16160  hasOpaqueSPAdjustment: false161  hasVAStart:      false162  hasMustTailInVarArgFunc: false163  savePoint:       []164  restorePoint:    []165fixedStack:166stack:167  - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,168      stack-id: default, callee-saved-register: '$ra', callee-saved-restored: true,169      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }170  - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,171      stack-id: default, callee-saved-register: '$s0', callee-saved-restored: true,172      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }173constants:174body:             |175  bb.0:176    liveins: $a1, $ra, $s0177 178    $sp = ADDiu $sp, -24179    CFI_INSTRUCTION def_cfa_offset 24180    SW_MM killed $ra, $sp, 20 :: (store (s32) into %stack.0)181    SW killed $s0, $sp, 16 :: (store (s32) into %stack.1)182    CFI_INSTRUCTION offset $ra_64, -4183    CFI_INSTRUCTION offset $s0_64, -8184    $s0 = MOVE16_MM $a1185    JAL @f, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit-def dead $v0186    $v0 = MOVE16_MM killed $s0187    $s0 = LW_MM $sp, 16 :: (load (s32) from %stack.1)188    $ra = LW $sp, 20 :: (load (s32) from %stack.0)189    $sp = ADDiu $sp, 24190    PseudoReturn undef $ra, implicit killed $v0191 192...193---194# CHECK-LABEL: name: f4195# CHECK-NOT: SWP_MM196# CHECK-NOT: LWP_MM197name:            f4198alignment:       4199exposesReturnsTwice: false200legalized:       false201regBankSelected: false202selected:        false203tracksRegLiveness: true204registers:205liveins:206  - { reg: '$a1', virtual-reg: '' }207frameInfo:208  isFrameAddressTaken: false209  isReturnAddressTaken: false210  hasStackMap:     false211  hasPatchPoint:   false212  stackSize:       24213  offsetAdjustment: 0214  maxAlignment:    4215  adjustsStack:    true216  hasCalls:        true217  stackProtector:  ''218  maxCallFrameSize: 16219  hasOpaqueSPAdjustment: false220  hasVAStart:      false221  hasMustTailInVarArgFunc: false222  savePoint:       []223  restorePoint:    []224fixedStack:225stack:226  - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4,227      stack-id: default, callee-saved-register: '$ra', callee-saved-restored: true,228      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }229  - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4,230      stack-id: default, callee-saved-register: '$s0', callee-saved-restored: true,231      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }232constants:233body:             |234  bb.0:235    liveins: $a1, $ra, $s0236 237    $sp = ADDiu $sp, -24238    CFI_INSTRUCTION def_cfa_offset 24239    SW killed $ra, $sp, 20 :: (store (s32) into %stack.0)240    SW_MM killed $s0, $sp, 16 :: (store (s32) into %stack.1)241    CFI_INSTRUCTION offset $ra_64, -4242    CFI_INSTRUCTION offset $s0_64, -8243    $s0 = MOVE16_MM $a1244    JAL @f, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit-def dead $v0245    $v0 = MOVE16_MM killed $s0246    $s0 = LW $sp, 16 :: (load (s32) from %stack.1)247    $ra = LW_MM $sp, 20 :: (load (s32) from %stack.0)248    $sp = ADDiu $sp, 24249    PseudoReturn undef $ra, implicit killed $v0250 251...252 253