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
77name:            expand_BEQ
78alignment:       2
79exposesReturnsTwice: false
80legalized:       false
81regBankSelected: false
82selected:        false
83failedISel:      false
84tracksRegLiveness: true
85registers:
86liveins:
87  - { reg: '$a0', virtual-reg: '' }
88frameInfo:
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:    ''
106fixedStack:
107stack:
108constants:
109body:             |
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
176name:            expand_BGEZ
177alignment:       2
178exposesReturnsTwice: false
179legalized:       false
180regBankSelected: false
181selected:        false
182failedISel:      false
183tracksRegLiveness: true
184registers:
185liveins:
186  - { reg: '$a0', virtual-reg: '' }
187frameInfo:
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:    ''
205fixedStack:
206stack:
207constants:
208body:             |
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
275name:            expand_BGTZ
276alignment:       2
277exposesReturnsTwice: false
278legalized:       false
279regBankSelected: false
280selected:        false
281failedISel:      false
282tracksRegLiveness: true
283registers:
284liveins:
285  - { reg: '$a0', virtual-reg: '' }
286frameInfo:
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:    ''
304fixedStack:
305stack:
306constants:
307body:             |
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
374name:            expand_BLEZ
375alignment:       2
376exposesReturnsTwice: false
377legalized:       false
378regBankSelected: false
379selected:        false
380failedISel:      false
381tracksRegLiveness: true
382registers:
383liveins:
384  - { reg: '$a0', virtual-reg: '' }
385frameInfo:
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:    ''
403fixedStack:
404stack:
405constants:
406body:             |
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
473name:            expand_BLTZ
474alignment:       2
475exposesReturnsTwice: false
476legalized:       false
477regBankSelected: false
478selected:        false
479failedISel:      false
480tracksRegLiveness: true
481registers:
482liveins:
483  - { reg: '$a0', virtual-reg: '' }
484frameInfo:
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:    ''
502fixedStack:
503stack:
504constants:
505body:             |
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
572name:            expand_BNE
573alignment:       2
574exposesReturnsTwice: false
575legalized:       false
576regBankSelected: false
577selected:        false
578failedISel:      false
579tracksRegLiveness: true
580registers:
581liveins:
582  - { reg: '$a0', virtual-reg: '' }
583frameInfo:
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:    ''
601fixedStack:
602stack:
603constants:
604body:             |
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