Home | History | Annotate | Download | only in longbranch
      1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
      2 # RUN: llc -mtriple=mips-mti-linux-gnu -o - %s -start-before mips-delay-slot-filler -stop-after mips-branch-expansion | FileCheck %s --check-prefix=MIPS
      3 # RUN: llc -mtriple=mips-mti-linux-gnu -o - %s -start-before mips-delay-slot-filler -stop-after mips-branch-expansion -relocation-model=pic | FileCheck %s --check-prefix=PIC
      4 
      5 # Test the long branch expansion of various branches
      6 
      7 --- |
      8   define void @expand_BEQ(i1 %a) {
      9     br i1 %a, label %iftrue, label %tail
     10 
     11   iftrue:
     12     call void asm sideeffect ".space 131068", ""()
     13     br label %tail
     14 
     15   tail:
     16     ret void
     17   }
     18 
     19   define void @expand_BGEZ(i1 %a) {
     20     br i1 %a, label %iftrue, label %tail
     21 
     22   iftrue:
     23     call void asm sideeffect ".space 131068", ""()
     24     br label %tail
     25 
     26   tail:
     27     ret void
     28   }
     29 
     30   define void @expand_BGTZ(i1 %a) {
     31     br i1 %a, label %iftrue, label %tail
     32 
     33   iftrue:
     34     call void asm sideeffect ".space 131068", ""()
     35     br label %tail
     36 
     37   tail:
     38     ret void
     39   }
     40 
     41   define void @expand_BLEZ(i1 %a) {
     42     br i1 %a, label %iftrue, label %tail
     43 
     44   iftrue:
     45     call void asm sideeffect ".space 131068", ""()
     46     br label %tail
     47 
     48   tail:
     49     ret void
     50   }
     51 
     52   define void @expand_BLTZ(i1 %a) {
     53     br i1 %a, label %iftrue, label %tail
     54 
     55   iftrue:
     56     call void asm sideeffect ".space 131068", ""()
     57     br label %tail
     58 
     59   tail:
     60     ret void
     61   }
     62 
     63   define void @expand_BNE(i1 %a) {
     64     br i1 %a, label %iftrue, label %tail
     65 
     66   iftrue:
     67     call void asm sideeffect ".space 131068", ""()
     68     br label %tail
     69 
     70   tail:
     71     ret void
     72   }
     73 
     74 ...
     75 ---
     76 
     77 name:            expand_BEQ
     78 alignment:       2
     79 exposesReturnsTwice: false
     80 legalized:       false
     81 regBankSelected: false
     82 selected:        false
     83 failedISel:      false
     84 tracksRegLiveness: true
     85 registers:
     86 liveins:
     87   - { reg: '$a0', virtual-reg: '' }
     88 frameInfo:
     89   isFrameAddressTaken: false
     90   isReturnAddressTaken: false
     91   hasStackMap:     false
     92   hasPatchPoint:   false
     93   stackSize:       0
     94   offsetAdjustment: 0
     95   maxAlignment:    1
     96   adjustsStack:    false
     97   hasCalls:        false
     98   stackProtector:  ''
     99   maxCallFrameSize: 0
    100   hasOpaqueSPAdjustment: false
    101   hasVAStart:      false
    102   hasMustTailInVarArgFunc: false
    103   localFrameSize:  0
    104   savePoint:       ''
    105   restorePoint:    ''
    106 fixedStack:
    107 stack:
    108 constants:
    109 body:             |
    110   ; MIPS-LABEL: name: expand_BEQ
    111   ; MIPS: bb.0 (%ir-block.0):
    112   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    113   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
    114   ; MIPS:   BNE $at, $zero, %bb.2, implicit-def $at {
    115   ; MIPS:     NOP
    116   ; MIPS:   }
    117   ; MIPS: bb.1 (%ir-block.0):
    118   ; MIPS:   successors: %bb.3(0x80000000)
    119   ; MIPS:   J %bb.3, implicit-def $at {
    120   ; MIPS:     NOP
    121   ; MIPS:   }
    122   ; MIPS: bb.2.iftrue:
    123   ; MIPS:   successors: %bb.3(0x80000000)
    124   ; MIPS:   INLINEASM &".space 131068", 1
    125   ; MIPS: bb.3.tail:
    126   ; MIPS:   PseudoReturn undef $ra {
    127   ; MIPS:     NOP
    128   ; MIPS:   }
    129   ; PIC-LABEL: name: expand_BEQ
    130   ; PIC: bb.0 (%ir-block.0):
    131   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    132   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
    133   ; PIC:   BNE $at, $zero, %bb.3, implicit-def $at {
    134   ; PIC:     NOP
    135   ; PIC:   }
    136   ; PIC: bb.1 (%ir-block.0):
    137   ; PIC:   successors: %bb.2(0x80000000)
    138   ; PIC:   $sp = ADDiu $sp, -8
    139   ; PIC:   SW $ra, $sp, 0
    140   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
    141   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    142   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
    143   ; PIC:   }
    144   ; PIC: bb.2 (%ir-block.0):
    145   ; PIC:   successors: %bb.4(0x80000000)
    146   ; PIC:   $at = ADDu $ra, $at
    147   ; PIC:   $ra = LW $sp, 0
    148   ; PIC:   JR $at {
    149   ; PIC:     $sp = ADDiu $sp, 8
    150   ; PIC:   }
    151   ; PIC: bb.3.iftrue:
    152   ; PIC:   successors: %bb.4(0x80000000)
    153   ; PIC:   INLINEASM &".space 131068", 1
    154   ; PIC: bb.4.tail:
    155   ; PIC:   PseudoReturn undef $ra {
    156   ; PIC:     NOP
    157   ; PIC:   }
    158   bb.0 (%ir-block.0):
    159     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    160     liveins: $a0
    161 
    162     renamable $at = ANDi killed renamable $a0, 1
    163     BEQ killed renamable $at, $zero, %bb.2, implicit-def $at
    164 
    165   bb.1.iftrue:
    166     successors: %bb.2(0x80000000)
    167 
    168     INLINEASM &".space 131068", 1
    169 
    170   bb.2.tail:
    171     PseudoReturn undef $ra
    172 
    173 ...
    174 ---
    175 
    176 name:            expand_BGEZ
    177 alignment:       2
    178 exposesReturnsTwice: false
    179 legalized:       false
    180 regBankSelected: false
    181 selected:        false
    182 failedISel:      false
    183 tracksRegLiveness: true
    184 registers:
    185 liveins:
    186   - { reg: '$a0', virtual-reg: '' }
    187 frameInfo:
    188   isFrameAddressTaken: false
    189   isReturnAddressTaken: false
    190   hasStackMap:     false
    191   hasPatchPoint:   false
    192   stackSize:       0
    193   offsetAdjustment: 0
    194   maxAlignment:    1
    195   adjustsStack:    false
    196   hasCalls:        false
    197   stackProtector:  ''
    198   maxCallFrameSize: 0
    199   hasOpaqueSPAdjustment: false
    200   hasVAStart:      false
    201   hasMustTailInVarArgFunc: false
    202   localFrameSize:  0
    203   savePoint:       ''
    204   restorePoint:    ''
    205 fixedStack:
    206 stack:
    207 constants:
    208 body:             |
    209   ; MIPS-LABEL: name: expand_BGEZ
    210   ; MIPS: bb.0 (%ir-block.0):
    211   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    212   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
    213   ; MIPS:   BLTZ $at, %bb.2, implicit-def $at {
    214   ; MIPS:     NOP
    215   ; MIPS:   }
    216   ; MIPS: bb.1 (%ir-block.0):
    217   ; MIPS:   successors: %bb.3(0x80000000)
    218   ; MIPS:   J %bb.3, implicit-def $at {
    219   ; MIPS:     NOP
    220   ; MIPS:   }
    221   ; MIPS: bb.2.iftrue:
    222   ; MIPS:   successors: %bb.3(0x80000000)
    223   ; MIPS:   INLINEASM &".space 131068", 1
    224   ; MIPS: bb.3.tail:
    225   ; MIPS:   PseudoReturn undef $ra {
    226   ; MIPS:     NOP
    227   ; MIPS:   }
    228   ; PIC-LABEL: name: expand_BGEZ
    229   ; PIC: bb.0 (%ir-block.0):
    230   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    231   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
    232   ; PIC:   BLTZ $at, %bb.3, implicit-def $at {
    233   ; PIC:     NOP
    234   ; PIC:   }
    235   ; PIC: bb.1 (%ir-block.0):
    236   ; PIC:   successors: %bb.2(0x80000000)
    237   ; PIC:   $sp = ADDiu $sp, -8
    238   ; PIC:   SW $ra, $sp, 0
    239   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
    240   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    241   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
    242   ; PIC:   }
    243   ; PIC: bb.2 (%ir-block.0):
    244   ; PIC:   successors: %bb.4(0x80000000)
    245   ; PIC:   $at = ADDu $ra, $at
    246   ; PIC:   $ra = LW $sp, 0
    247   ; PIC:   JR $at {
    248   ; PIC:     $sp = ADDiu $sp, 8
    249   ; PIC:   }
    250   ; PIC: bb.3.iftrue:
    251   ; PIC:   successors: %bb.4(0x80000000)
    252   ; PIC:   INLINEASM &".space 131068", 1
    253   ; PIC: bb.4.tail:
    254   ; PIC:   PseudoReturn undef $ra {
    255   ; PIC:     NOP
    256   ; PIC:   }
    257   bb.0 (%ir-block.0):
    258     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    259     liveins: $a0
    260 
    261     renamable $at = ANDi killed renamable $a0, 1
    262     BGEZ killed renamable $at, %bb.2, implicit-def $at
    263 
    264   bb.1.iftrue:
    265     successors: %bb.2(0x80000000)
    266 
    267     INLINEASM &".space 131068", 1
    268 
    269   bb.2.tail:
    270     PseudoReturn undef $ra
    271 
    272 ...
    273 ---
    274 
    275 name:            expand_BGTZ
    276 alignment:       2
    277 exposesReturnsTwice: false
    278 legalized:       false
    279 regBankSelected: false
    280 selected:        false
    281 failedISel:      false
    282 tracksRegLiveness: true
    283 registers:
    284 liveins:
    285   - { reg: '$a0', virtual-reg: '' }
    286 frameInfo:
    287   isFrameAddressTaken: false
    288   isReturnAddressTaken: false
    289   hasStackMap:     false
    290   hasPatchPoint:   false
    291   stackSize:       0
    292   offsetAdjustment: 0
    293   maxAlignment:    1
    294   adjustsStack:    false
    295   hasCalls:        false
    296   stackProtector:  ''
    297   maxCallFrameSize: 0
    298   hasOpaqueSPAdjustment: false
    299   hasVAStart:      false
    300   hasMustTailInVarArgFunc: false
    301   localFrameSize:  0
    302   savePoint:       ''
    303   restorePoint:    ''
    304 fixedStack:
    305 stack:
    306 constants:
    307 body:             |
    308   ; MIPS-LABEL: name: expand_BGTZ
    309   ; MIPS: bb.0 (%ir-block.0):
    310   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    311   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
    312   ; MIPS:   BLEZ $at, %bb.2, implicit-def $at {
    313   ; MIPS:     NOP
    314   ; MIPS:   }
    315   ; MIPS: bb.1 (%ir-block.0):
    316   ; MIPS:   successors: %bb.3(0x80000000)
    317   ; MIPS:   J %bb.3, implicit-def $at {
    318   ; MIPS:     NOP
    319   ; MIPS:   }
    320   ; MIPS: bb.2.iftrue:
    321   ; MIPS:   successors: %bb.3(0x80000000)
    322   ; MIPS:   INLINEASM &".space 131068", 1
    323   ; MIPS: bb.3.tail:
    324   ; MIPS:   PseudoReturn undef $ra {
    325   ; MIPS:     NOP
    326   ; MIPS:   }
    327   ; PIC-LABEL: name: expand_BGTZ
    328   ; PIC: bb.0 (%ir-block.0):
    329   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    330   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
    331   ; PIC:   BLEZ $at, %bb.3, implicit-def $at {
    332   ; PIC:     NOP
    333   ; PIC:   }
    334   ; PIC: bb.1 (%ir-block.0):
    335   ; PIC:   successors: %bb.2(0x80000000)
    336   ; PIC:   $sp = ADDiu $sp, -8
    337   ; PIC:   SW $ra, $sp, 0
    338   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
    339   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    340   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
    341   ; PIC:   }
    342   ; PIC: bb.2 (%ir-block.0):
    343   ; PIC:   successors: %bb.4(0x80000000)
    344   ; PIC:   $at = ADDu $ra, $at
    345   ; PIC:   $ra = LW $sp, 0
    346   ; PIC:   JR $at {
    347   ; PIC:     $sp = ADDiu $sp, 8
    348   ; PIC:   }
    349   ; PIC: bb.3.iftrue:
    350   ; PIC:   successors: %bb.4(0x80000000)
    351   ; PIC:   INLINEASM &".space 131068", 1
    352   ; PIC: bb.4.tail:
    353   ; PIC:   PseudoReturn undef $ra {
    354   ; PIC:     NOP
    355   ; PIC:   }
    356   bb.0 (%ir-block.0):
    357     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    358     liveins: $a0
    359 
    360     renamable $at = ANDi killed renamable $a0, 1
    361     BGTZ killed renamable $at, %bb.2, implicit-def $at
    362 
    363   bb.1.iftrue:
    364     successors: %bb.2(0x80000000)
    365 
    366     INLINEASM &".space 131068", 1
    367 
    368   bb.2.tail:
    369     PseudoReturn undef $ra
    370 
    371 ...
    372 ---
    373 
    374 name:            expand_BLEZ
    375 alignment:       2
    376 exposesReturnsTwice: false
    377 legalized:       false
    378 regBankSelected: false
    379 selected:        false
    380 failedISel:      false
    381 tracksRegLiveness: true
    382 registers:
    383 liveins:
    384   - { reg: '$a0', virtual-reg: '' }
    385 frameInfo:
    386   isFrameAddressTaken: false
    387   isReturnAddressTaken: false
    388   hasStackMap:     false
    389   hasPatchPoint:   false
    390   stackSize:       0
    391   offsetAdjustment: 0
    392   maxAlignment:    1
    393   adjustsStack:    false
    394   hasCalls:        false
    395   stackProtector:  ''
    396   maxCallFrameSize: 0
    397   hasOpaqueSPAdjustment: false
    398   hasVAStart:      false
    399   hasMustTailInVarArgFunc: false
    400   localFrameSize:  0
    401   savePoint:       ''
    402   restorePoint:    ''
    403 fixedStack:
    404 stack:
    405 constants:
    406 body:             |
    407   ; MIPS-LABEL: name: expand_BLEZ
    408   ; MIPS: bb.0 (%ir-block.0):
    409   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    410   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
    411   ; MIPS:   BGTZ $at, %bb.2, implicit-def $at {
    412   ; MIPS:     NOP
    413   ; MIPS:   }
    414   ; MIPS: bb.1 (%ir-block.0):
    415   ; MIPS:   successors: %bb.3(0x80000000)
    416   ; MIPS:   J %bb.3, implicit-def $at {
    417   ; MIPS:     NOP
    418   ; MIPS:   }
    419   ; MIPS: bb.2.iftrue:
    420   ; MIPS:   successors: %bb.3(0x80000000)
    421   ; MIPS:   INLINEASM &".space 131068", 1
    422   ; MIPS: bb.3.tail:
    423   ; MIPS:   PseudoReturn undef $ra {
    424   ; MIPS:     NOP
    425   ; MIPS:   }
    426   ; PIC-LABEL: name: expand_BLEZ
    427   ; PIC: bb.0 (%ir-block.0):
    428   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    429   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
    430   ; PIC:   BGTZ $at, %bb.3, implicit-def $at {
    431   ; PIC:     NOP
    432   ; PIC:   }
    433   ; PIC: bb.1 (%ir-block.0):
    434   ; PIC:   successors: %bb.2(0x80000000)
    435   ; PIC:   $sp = ADDiu $sp, -8
    436   ; PIC:   SW $ra, $sp, 0
    437   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
    438   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    439   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
    440   ; PIC:   }
    441   ; PIC: bb.2 (%ir-block.0):
    442   ; PIC:   successors: %bb.4(0x80000000)
    443   ; PIC:   $at = ADDu $ra, $at
    444   ; PIC:   $ra = LW $sp, 0
    445   ; PIC:   JR $at {
    446   ; PIC:     $sp = ADDiu $sp, 8
    447   ; PIC:   }
    448   ; PIC: bb.3.iftrue:
    449   ; PIC:   successors: %bb.4(0x80000000)
    450   ; PIC:   INLINEASM &".space 131068", 1
    451   ; PIC: bb.4.tail:
    452   ; PIC:   PseudoReturn undef $ra {
    453   ; PIC:     NOP
    454   ; PIC:   }
    455   bb.0 (%ir-block.0):
    456     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    457     liveins: $a0
    458 
    459     renamable $at = ANDi killed renamable $a0, 1
    460     BLEZ killed renamable $at, %bb.2, implicit-def $at
    461 
    462   bb.1.iftrue:
    463     successors: %bb.2(0x80000000)
    464 
    465     INLINEASM &".space 131068", 1
    466 
    467   bb.2.tail:
    468     PseudoReturn undef $ra
    469 
    470 ...
    471 ---
    472 
    473 name:            expand_BLTZ
    474 alignment:       2
    475 exposesReturnsTwice: false
    476 legalized:       false
    477 regBankSelected: false
    478 selected:        false
    479 failedISel:      false
    480 tracksRegLiveness: true
    481 registers:
    482 liveins:
    483   - { reg: '$a0', virtual-reg: '' }
    484 frameInfo:
    485   isFrameAddressTaken: false
    486   isReturnAddressTaken: false
    487   hasStackMap:     false
    488   hasPatchPoint:   false
    489   stackSize:       0
    490   offsetAdjustment: 0
    491   maxAlignment:    1
    492   adjustsStack:    false
    493   hasCalls:        false
    494   stackProtector:  ''
    495   maxCallFrameSize: 0
    496   hasOpaqueSPAdjustment: false
    497   hasVAStart:      false
    498   hasMustTailInVarArgFunc: false
    499   localFrameSize:  0
    500   savePoint:       ''
    501   restorePoint:    ''
    502 fixedStack:
    503 stack:
    504 constants:
    505 body:             |
    506   ; MIPS-LABEL: name: expand_BLTZ
    507   ; MIPS: bb.0 (%ir-block.0):
    508   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    509   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
    510   ; MIPS:   BGEZ $at, %bb.2, implicit-def $at {
    511   ; MIPS:     NOP
    512   ; MIPS:   }
    513   ; MIPS: bb.1 (%ir-block.0):
    514   ; MIPS:   successors: %bb.3(0x80000000)
    515   ; MIPS:   J %bb.3, implicit-def $at {
    516   ; MIPS:     NOP
    517   ; MIPS:   }
    518   ; MIPS: bb.2.iftrue:
    519   ; MIPS:   successors: %bb.3(0x80000000)
    520   ; MIPS:   INLINEASM &".space 131068", 1
    521   ; MIPS: bb.3.tail:
    522   ; MIPS:   PseudoReturn undef $ra {
    523   ; MIPS:     NOP
    524   ; MIPS:   }
    525   ; PIC-LABEL: name: expand_BLTZ
    526   ; PIC: bb.0 (%ir-block.0):
    527   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    528   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
    529   ; PIC:   BGEZ $at, %bb.3, implicit-def $at {
    530   ; PIC:     NOP
    531   ; PIC:   }
    532   ; PIC: bb.1 (%ir-block.0):
    533   ; PIC:   successors: %bb.2(0x80000000)
    534   ; PIC:   $sp = ADDiu $sp, -8
    535   ; PIC:   SW $ra, $sp, 0
    536   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
    537   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    538   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
    539   ; PIC:   }
    540   ; PIC: bb.2 (%ir-block.0):
    541   ; PIC:   successors: %bb.4(0x80000000)
    542   ; PIC:   $at = ADDu $ra, $at
    543   ; PIC:   $ra = LW $sp, 0
    544   ; PIC:   JR $at {
    545   ; PIC:     $sp = ADDiu $sp, 8
    546   ; PIC:   }
    547   ; PIC: bb.3.iftrue:
    548   ; PIC:   successors: %bb.4(0x80000000)
    549   ; PIC:   INLINEASM &".space 131068", 1
    550   ; PIC: bb.4.tail:
    551   ; PIC:   PseudoReturn undef $ra {
    552   ; PIC:     NOP
    553   ; PIC:   }
    554   bb.0 (%ir-block.0):
    555     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    556     liveins: $a0
    557 
    558     renamable $at = ANDi killed renamable $a0, 1
    559     BLTZ killed renamable $at, %bb.2, implicit-def $at
    560 
    561   bb.1.iftrue:
    562     successors: %bb.2(0x80000000)
    563 
    564     INLINEASM &".space 131068", 1
    565 
    566   bb.2.tail:
    567     PseudoReturn undef $ra
    568 
    569 ...
    570 ---
    571 
    572 name:            expand_BNE
    573 alignment:       2
    574 exposesReturnsTwice: false
    575 legalized:       false
    576 regBankSelected: false
    577 selected:        false
    578 failedISel:      false
    579 tracksRegLiveness: true
    580 registers:
    581 liveins:
    582   - { reg: '$a0', virtual-reg: '' }
    583 frameInfo:
    584   isFrameAddressTaken: false
    585   isReturnAddressTaken: false
    586   hasStackMap:     false
    587   hasPatchPoint:   false
    588   stackSize:       0
    589   offsetAdjustment: 0
    590   maxAlignment:    1
    591   adjustsStack:    false
    592   hasCalls:        false
    593   stackProtector:  ''
    594   maxCallFrameSize: 0
    595   hasOpaqueSPAdjustment: false
    596   hasVAStart:      false
    597   hasMustTailInVarArgFunc: false
    598   localFrameSize:  0
    599   savePoint:       ''
    600   restorePoint:    ''
    601 fixedStack:
    602 stack:
    603 constants:
    604 body:             |
    605   ; MIPS-LABEL: name: expand_BNE
    606   ; MIPS: bb.0 (%ir-block.0):
    607   ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
    608   ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
    609   ; MIPS:   BEQ $at, $zero, %bb.2, implicit-def $at {
    610   ; MIPS:     NOP
    611   ; MIPS:   }
    612   ; MIPS: bb.1 (%ir-block.0):
    613   ; MIPS:   successors: %bb.3(0x80000000)
    614   ; MIPS:   J %bb.3, implicit-def $at {
    615   ; MIPS:     NOP
    616   ; MIPS:   }
    617   ; MIPS: bb.2.iftrue:
    618   ; MIPS:   successors: %bb.3(0x80000000)
    619   ; MIPS:   INLINEASM &".space 131068", 1
    620   ; MIPS: bb.3.tail:
    621   ; MIPS:   PseudoReturn undef $ra {
    622   ; MIPS:     NOP
    623   ; MIPS:   }
    624   ; PIC-LABEL: name: expand_BNE
    625   ; PIC: bb.0 (%ir-block.0):
    626   ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
    627   ; PIC:   renamable $at = ANDi killed renamable $a0, 1
    628   ; PIC:   BEQ $at, $zero, %bb.3, implicit-def $at {
    629   ; PIC:     NOP
    630   ; PIC:   }
    631   ; PIC: bb.1 (%ir-block.0):
    632   ; PIC:   successors: %bb.2(0x80000000)
    633   ; PIC:   $sp = ADDiu $sp, -8
    634   ; PIC:   SW $ra, $sp, 0
    635   ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
    636   ; PIC:   BAL_BR %bb.2, implicit-def $ra {
    637   ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
    638   ; PIC:   }
    639   ; PIC: bb.2 (%ir-block.0):
    640   ; PIC:   successors: %bb.4(0x80000000)
    641   ; PIC:   $at = ADDu $ra, $at
    642   ; PIC:   $ra = LW $sp, 0
    643   ; PIC:   JR $at {
    644   ; PIC:     $sp = ADDiu $sp, 8
    645   ; PIC:   }
    646   ; PIC: bb.3.iftrue:
    647   ; PIC:   successors: %bb.4(0x80000000)
    648   ; PIC:   INLINEASM &".space 131068", 1
    649   ; PIC: bb.4.tail:
    650   ; PIC:   PseudoReturn undef $ra {
    651   ; PIC:     NOP
    652   ; PIC:   }
    653   bb.0 (%ir-block.0):
    654     successors: %bb.1(0x40000000), %bb.2(0x40000000)
    655     liveins: $a0
    656 
    657     renamable $at = ANDi killed renamable $a0, 1
    658     BNE killed renamable $at, $zero, %bb.2, implicit-def $at
    659 
    660   bb.1.iftrue:
    661     successors: %bb.2(0x80000000)
    662 
    663     INLINEASM &".space 131068", 1
    664 
    665   bb.2.tail:
    666     PseudoReturn undef $ra
    667 
    668 ...
    669