brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.2 KiB · a052a95 Raw
234 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple riscv64 -mattr=+m,+v -run-pass=prologepilog -o - \3# RUN:     -verify-machineinstrs %s | FileCheck %s4--- |5  target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"6  target triple = "riscv64"7 8  define void @spillslot() {9    ret void10  }11 12...13---14name:            spillslot15alignment:       416tracksRegLiveness: true17liveins:18  - { reg: '$x12', virtual-reg: '' }19frameInfo:20  isFrameAddressTaken: false21  isReturnAddressTaken: false22  hasStackMap:     false23  hasPatchPoint:   false24  stackSize:       025  offsetAdjustment: 026  maxAlignment:    12827  adjustsStack:    false28  hasCalls:        false29  stackProtector:  ''30  maxCallFrameSize: 429496729531  cvBytesOfCalleeSavedRegisters: 032  hasOpaqueSPAdjustment: false33  hasVAStart:      false34  hasMustTailInVarArgFunc: false35  hasTailCall:     false36  localFrameSize:  037  savePoint:       []38  restorePoint:    []39fixedStack:      []40stack:41  - { id: 0, name: '', type: default, offset: 0, size: 2048, alignment: 128,42      stack-id: default, callee-saved-register: '', callee-saved-restored: true,43      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }44  - { id: 1, name: '', type: spill-slot, offset: 0, size: 8, alignment: 8,45      stack-id: scalable-vector, callee-saved-register: '', callee-saved-restored: true,46      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }47  - { id: 2, name: '', type: spill-slot, offset: 0, size: 400, alignment: 8,48      stack-id: scalable-vector, callee-saved-register: '', callee-saved-restored: true,49      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }50body:             |51  ; CHECK-LABEL: name: spillslot52  ; CHECK: bb.0:53  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)54  ; CHECK-NEXT:   liveins: $x12, $x1, $x18, $x19, $x20, $x21, $x22, $x23, $x24, $x25, $x26, $x2755  ; CHECK-NEXT: {{  $}}56  ; CHECK-NEXT:   $x2 = frame-setup ADDI $x2, -203257  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 203258  ; CHECK-NEXT:   frame-setup SD killed $x1, $x2, 2024 :: (store (s64) into %stack.3)59  ; CHECK-NEXT:   frame-setup SD killed $x8, $x2, 2016 :: (store (s64) into %stack.4)60  ; CHECK-NEXT:   frame-setup SD killed $x18, $x2, 2008 :: (store (s64) into %stack.5)61  ; CHECK-NEXT:   frame-setup SD killed $x19, $x2, 2000 :: (store (s64) into %stack.6)62  ; CHECK-NEXT:   frame-setup SD killed $x20, $x2, 1992 :: (store (s64) into %stack.7)63  ; CHECK-NEXT:   frame-setup SD killed $x21, $x2, 1984 :: (store (s64) into %stack.8)64  ; CHECK-NEXT:   frame-setup SD killed $x22, $x2, 1976 :: (store (s64) into %stack.9)65  ; CHECK-NEXT:   frame-setup SD killed $x23, $x2, 1968 :: (store (s64) into %stack.10)66  ; CHECK-NEXT:   frame-setup SD killed $x24, $x2, 1960 :: (store (s64) into %stack.11)67  ; CHECK-NEXT:   frame-setup SD killed $x25, $x2, 1952 :: (store (s64) into %stack.12)68  ; CHECK-NEXT:   frame-setup SD killed $x26, $x2, 1944 :: (store (s64) into %stack.13)69  ; CHECK-NEXT:   frame-setup SD killed $x27, $x2, 1936 :: (store (s64) into %stack.14)70  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x1, -871  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x8, -1672  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x18, -2473  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x19, -3274  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x20, -4075  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x21, -4876  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x22, -5677  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x23, -6478  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x24, -7279  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x25, -8080  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x26, -8881  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $x27, -9682  ; CHECK-NEXT:   $x8 = frame-setup ADDI $x2, 203283  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa $x8, 084  ; CHECK-NEXT:   $x2 = frame-setup ADDI $x2, -27285  ; CHECK-NEXT:   $x10 = frame-setup PseudoReadVLENB86  ; CHECK-NEXT:   $x11 = frame-setup ADDI $x0, 5187  ; CHECK-NEXT:   $x10 = frame-setup MUL killed $x10, killed $x1188  ; CHECK-NEXT:   $x2 = frame-setup SUB $x2, killed $x1089  ; CHECK-NEXT:   $x2 = frame-setup ANDI $x2, -12890  ; CHECK-NEXT:   dead renamable $x15 = PseudoVSETIVLI 1, 72 /* e16, m1, ta, mu */, implicit-def $vl, implicit-def $vtype91  ; CHECK-NEXT:   renamable $v25 = PseudoVMV_V_X_M1 undef $v25, killed renamable $x12, $noreg, 4 /* e16 */, 0 /* tu, mu */, implicit $vl, implicit $vtype92  ; CHECK-NEXT:   $x10 = PseudoReadVLENB93  ; CHECK-NEXT:   $x11 = ADDI $x0, 5094  ; CHECK-NEXT:   $x10 = MUL killed $x10, killed $x1195  ; CHECK-NEXT:   $x10 = ADD $x2, killed $x1096  ; CHECK-NEXT:   $x10 = ADDI killed $x10, 204797  ; CHECK-NEXT:   $x10 = ADDI killed $x10, 16198  ; CHECK-NEXT:   VS1R_V killed renamable $v25, killed $x10 :: (store unknown-size into %stack.1, align 8)99  ; CHECK-NEXT:   renamable $x1 = ADDI $x0, 255100  ; CHECK-NEXT:   renamable $x5 = nuw ADDI $x2, 384101  ; CHECK-NEXT:   renamable $x6 = ADDI $x2, 512102  ; CHECK-NEXT:   renamable $x7 = nuw ADDI $x2, 640103  ; CHECK-NEXT:   renamable $x10 = ADDI $x0, 128104  ; CHECK-NEXT:   renamable $x12 = nuw ADDI $x2, 256105  ; CHECK-NEXT:   renamable $x14 = COPY $x0106  ; CHECK-NEXT:   renamable $x17 = nuw ADDI $x2, 256107  ; CHECK-NEXT:   renamable $x18 = ADDI $x2, 1280108  ; CHECK-NEXT:   renamable $x19 = ADDI $x2, 1408109  ; CHECK-NEXT:   renamable $x20 = ADDI $x2, 1536110  ; CHECK-NEXT:   renamable $x21 = ADDI $x2, 1664111  ; CHECK-NEXT:   renamable $x22 = ADDI $x2, 1792112  ; CHECK-NEXT:   renamable $x23 = ADDI $x2, 1920113  ; CHECK-NEXT:   $x24 = ADDI $x2, 2047114  ; CHECK-NEXT:   $x24 = ADDI killed $x24, 1115  ; CHECK-NEXT:   renamable $x25 = ADDI $x2, 128116  ; CHECK-NEXT:   renamable $x26 = ADDI $x2, 128117  ; CHECK-NEXT:   renamable $x27 = ADDI $x0, 2118  ; CHECK-NEXT:   renamable $x28 = ADDI $x2, 768119  ; CHECK-NEXT:   renamable $x29 = ADDI $x2, 896120  ; CHECK-NEXT:   renamable $x30 = ADDI $x2, 1024121  ; CHECK-NEXT:   renamable $x31 = nuw ADDI $x2, 1152122  ; CHECK-NEXT:   renamable $x15 = ADDIW renamable $x14, 0123  ; CHECK-NEXT:   renamable $x11 = ANDI renamable $x15, 255124  ; CHECK-NEXT:   renamable $x13 = SLLI renamable $x11, 3125  ; CHECK-NEXT:   renamable $x13 = ADD renamable $x26, killed renamable $x13126  ; CHECK-NEXT:   renamable $x13 = LD killed renamable $x13, 0 :: (load (s64))127  ; CHECK-NEXT:   renamable $x16 = SUB killed renamable $x13, renamable $x13128  ; CHECK-NEXT:   dead renamable $x13 = PseudoVSETIVLI 1, 64 /* e8, m1, ta, mu */, implicit-def $vl, implicit-def $vtype129  ; CHECK-NEXT:   renamable $x13 = nsw ADDI renamable $x16, -2130  ; CHECK-NEXT:   SD killed $x10, $x2, 8 :: (store (s64) into %stack.15)131  ; CHECK-NEXT:   $x10 = PseudoReadVLENB132  ; CHECK-NEXT:   SD killed $x12, $x2, 0 :: (store (s64) into %stack.16)133  ; CHECK-NEXT:   $x12 = ADDI $x0, 50134  ; CHECK-NEXT:   $x10 = MUL killed $x10, killed $x12135  ; CHECK-NEXT:   $x12 = LD $x2, 0 :: (load (s64) from %stack.16)136  ; CHECK-NEXT:   $x10 = ADD $x2, killed $x10137  ; CHECK-NEXT:   $x10 = ADDI killed $x10, 2047138  ; CHECK-NEXT:   $x10 = ADDI killed $x10, 161139  ; CHECK-NEXT:   renamable $v0 = VL1RE8_V killed $x10 :: (load unknown-size from %stack.1, align 8)140  ; CHECK-NEXT:   $x10 = LD $x2, 8 :: (load (s64) from %stack.15)141  ; CHECK-NEXT:   renamable $v0 = PseudoVSLIDEDOWN_VX_M1 undef renamable $v0, killed renamable $v0, killed renamable $x13, $noreg, 3 /* e8 */, 1 /* ta, mu */, implicit $vl, implicit $vtype142  ; CHECK-NEXT:   renamable $x13 = PseudoVMV_X_S killed renamable $v0, 3 /* e8 */, implicit $vl, implicit $vtype143  ; CHECK-NEXT:   BLT killed renamable $x16, renamable $x27, %bb.2144  ; CHECK-NEXT: {{  $}}145  ; CHECK-NEXT: bb.1:146  ; CHECK-NEXT:   successors: %bb.2(0x80000000)147  ; CHECK-NEXT:   liveins: $x1, $x5, $x6, $x7, $x9, $x10, $x11, $x12, $x13, $x14, $x15, $x17, $x18, $x19, $x20, $x21, $x22, $x23, $x24, $x25, $x26, $x27, $x28, $x29, $x30, $x31148  ; CHECK-NEXT: {{  $}}149  ; CHECK-NEXT:   renamable $x10 = COPY killed renamable $x13150  ; CHECK-NEXT:   PseudoBR %bb.2151  ; CHECK-NEXT: {{  $}}152  ; CHECK-NEXT: bb.2:153  ; CHECK-NEXT:   $x2 = frame-destroy ADDI $x8, -2032154  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa $x2, 2032155  ; CHECK-NEXT:   $x1 = frame-destroy LD $x2, 2024 :: (load (s64) from %stack.3)156  ; CHECK-NEXT:   $x8 = frame-destroy LD $x2, 2016 :: (load (s64) from %stack.4)157  ; CHECK-NEXT:   $x18 = frame-destroy LD $x2, 2008 :: (load (s64) from %stack.5)158  ; CHECK-NEXT:   $x19 = frame-destroy LD $x2, 2000 :: (load (s64) from %stack.6)159  ; CHECK-NEXT:   $x20 = frame-destroy LD $x2, 1992 :: (load (s64) from %stack.7)160  ; CHECK-NEXT:   $x21 = frame-destroy LD $x2, 1984 :: (load (s64) from %stack.8)161  ; CHECK-NEXT:   $x22 = frame-destroy LD $x2, 1976 :: (load (s64) from %stack.9)162  ; CHECK-NEXT:   $x23 = frame-destroy LD $x2, 1968 :: (load (s64) from %stack.10)163  ; CHECK-NEXT:   $x24 = frame-destroy LD $x2, 1960 :: (load (s64) from %stack.11)164  ; CHECK-NEXT:   $x25 = frame-destroy LD $x2, 1952 :: (load (s64) from %stack.12)165  ; CHECK-NEXT:   $x26 = frame-destroy LD $x2, 1944 :: (load (s64) from %stack.13)166  ; CHECK-NEXT:   $x27 = frame-destroy LD $x2, 1936 :: (load (s64) from %stack.14)167  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x1168  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x8169  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x18170  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x19171  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x20172  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x21173  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x22174  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x23175  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x24176  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x25177  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x26178  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION restore $x27179  ; CHECK-NEXT:   $x2 = frame-destroy ADDI $x2, 2032180  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa_offset 0181  ; CHECK-NEXT:   PseudoRET182  bb.0:183    successors: %bb.1, %bb.2184    liveins: $x12185 186    dead renamable $x15 = PseudoVSETIVLI 1, 72, implicit-def $vl, implicit-def $vtype187    renamable $v25 = PseudoVMV_V_X_M1 undef $v25, killed renamable $x12, $noreg, 4, 0, implicit $vl, implicit $vtype188    VS1R_V killed renamable $v25, %stack.1 :: (store unknown-size into %stack.1, align 8)189    renamable $x1 = ADDI $x0, 255190    renamable $x5 = nuw ADDI %stack.0, 256191    renamable $x6 = ADDI %stack.0, 384192    renamable $x7 = nuw ADDI %stack.0, 512193    renamable $x10 = ADDI $x0, 128194    renamable $x12 = nuw ADDI %stack.0, 128195    renamable $x14 = COPY $x0196    renamable $x17 = nuw ADDI %stack.0, 128197    renamable $x18 = ADDI %stack.0, 1152198    renamable $x19 = ADDI %stack.0, 1280199    renamable $x20 = ADDI %stack.0, 1408200    renamable $x21 = ADDI %stack.0, 1536201    renamable $x22 = ADDI %stack.0, 1664202    renamable $x23 = ADDI %stack.0, 1792203    renamable $x24 = ADDI %stack.0, 1920204    renamable $x25 = ADDI %stack.0, 0205    renamable $x26 = ADDI %stack.0, 0206    renamable $x27 = ADDI $x0, 2207    renamable $x28 = ADDI %stack.0, 640208    renamable $x29 = ADDI %stack.0, 768209    renamable $x30 = ADDI %stack.0, 896210    renamable $x31 = nuw ADDI %stack.0, 1024211    renamable $x15 = ADDIW renamable $x14, 0212    renamable $x11 = ANDI renamable $x15, 255213    renamable $x13 = SLLI renamable $x11, 3214    renamable $x13 = ADD renamable $x26, killed renamable $x13215    renamable $x13 = LD killed renamable $x13, 0 :: (load (s64))216    renamable $x16 = SUB killed renamable $x13, renamable $x13217    dead renamable $x13 = PseudoVSETIVLI 1, 64, implicit-def $vl, implicit-def $vtype218    renamable $x13 = nsw ADDI renamable $x16, -2219    renamable $v0 = VL1RE8_V %stack.1 :: (load unknown-size from %stack.1, align 8)220    renamable $v0 = PseudoVSLIDEDOWN_VX_M1 undef renamable $v0, killed renamable $v0, killed renamable $x13, $noreg, 3, 1, implicit $vl, implicit $vtype221    renamable $x13 = PseudoVMV_X_S killed renamable $v0, 3, implicit $vl, implicit $vtype222    BLT killed renamable $x16, renamable $x27, %bb.2223 224  bb.1:225    successors: %bb.2226    liveins: $x1, $x5, $x6, $x7, $x9, $x10, $x11, $x12, $x13, $x14, $x15, $x17, $x18, $x19, $x20, $x21, $x22, $x23, $x24, $x25, $x26, $x27, $x28, $x29, $x30, $x31227 228    renamable $x10 = COPY killed renamable $x13229    PseudoBR %bb.2230 231  bb.2:232    PseudoRET233...234