# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# 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
# 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

# Test the long branch expansion of various branches

--- |
  define void @expand_BEQ(i1 %a) {
    br i1 %a, label %iftrue, label %tail

  iftrue:
    call void asm sideeffect ".space 131068", ""()
    br label %tail

  tail:
    ret void
  }

  define void @expand_BGEZ(i1 %a) {
    br i1 %a, label %iftrue, label %tail

  iftrue:
    call void asm sideeffect ".space 131068", ""()
    br label %tail

  tail:
    ret void
  }

  define void @expand_BGTZ(i1 %a) {
    br i1 %a, label %iftrue, label %tail

  iftrue:
    call void asm sideeffect ".space 131068", ""()
    br label %tail

  tail:
    ret void
  }

  define void @expand_BLEZ(i1 %a) {
    br i1 %a, label %iftrue, label %tail

  iftrue:
    call void asm sideeffect ".space 131068", ""()
    br label %tail

  tail:
    ret void
  }

  define void @expand_BLTZ(i1 %a) {
    br i1 %a, label %iftrue, label %tail

  iftrue:
    call void asm sideeffect ".space 131068", ""()
    br label %tail

  tail:
    ret void
  }

  define void @expand_BNE(i1 %a) {
    br i1 %a, label %iftrue, label %tail

  iftrue:
    call void asm sideeffect ".space 131068", ""()
    br label %tail

  tail:
    ret void
  }

...
---

name:            expand_BEQ
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
registers:
liveins:
  - { reg: '$a0', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
constants:
body:             |
  ; MIPS-LABEL: name: expand_BEQ
  ; MIPS: bb.0 (%ir-block.0):
  ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
  ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
  ; MIPS:   BNE $at, $zero, %bb.2, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.1 (%ir-block.0):
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   J %bb.3, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.2.iftrue:
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   INLINEASM &".space 131068", 1
  ; MIPS: bb.3.tail:
  ; MIPS:   PseudoReturn undef $ra {
  ; MIPS:     NOP
  ; MIPS:   }
  ; PIC-LABEL: name: expand_BEQ
  ; PIC: bb.0 (%ir-block.0):
  ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
  ; PIC:   renamable $at = ANDi killed renamable $a0, 1
  ; PIC:   BNE $at, $zero, %bb.3, implicit-def $at {
  ; PIC:     NOP
  ; PIC:   }
  ; PIC: bb.1 (%ir-block.0):
  ; PIC:   successors: %bb.2(0x80000000)
  ; PIC:   $sp = ADDiu $sp, -8
  ; PIC:   SW $ra, $sp, 0
  ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
  ; PIC:   BAL_BR %bb.2, implicit-def $ra {
  ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
  ; PIC:   }
  ; PIC: bb.2 (%ir-block.0):
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   $at = ADDu $ra, $at
  ; PIC:   $ra = LW $sp, 0
  ; PIC:   JR $at {
  ; PIC:     $sp = ADDiu $sp, 8
  ; PIC:   }
  ; PIC: bb.3.iftrue:
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   INLINEASM &".space 131068", 1
  ; PIC: bb.4.tail:
  ; PIC:   PseudoReturn undef $ra {
  ; PIC:     NOP
  ; PIC:   }
  bb.0 (%ir-block.0):
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $a0

    renamable $at = ANDi killed renamable $a0, 1
    BEQ killed renamable $at, $zero, %bb.2, implicit-def $at

  bb.1.iftrue:
    successors: %bb.2(0x80000000)

    INLINEASM &".space 131068", 1

  bb.2.tail:
    PseudoReturn undef $ra

...
---

name:            expand_BGEZ
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
registers:
liveins:
  - { reg: '$a0', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
constants:
body:             |
  ; MIPS-LABEL: name: expand_BGEZ
  ; MIPS: bb.0 (%ir-block.0):
  ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
  ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
  ; MIPS:   BLTZ $at, %bb.2, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.1 (%ir-block.0):
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   J %bb.3, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.2.iftrue:
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   INLINEASM &".space 131068", 1
  ; MIPS: bb.3.tail:
  ; MIPS:   PseudoReturn undef $ra {
  ; MIPS:     NOP
  ; MIPS:   }
  ; PIC-LABEL: name: expand_BGEZ
  ; PIC: bb.0 (%ir-block.0):
  ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
  ; PIC:   renamable $at = ANDi killed renamable $a0, 1
  ; PIC:   BLTZ $at, %bb.3, implicit-def $at {
  ; PIC:     NOP
  ; PIC:   }
  ; PIC: bb.1 (%ir-block.0):
  ; PIC:   successors: %bb.2(0x80000000)
  ; PIC:   $sp = ADDiu $sp, -8
  ; PIC:   SW $ra, $sp, 0
  ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
  ; PIC:   BAL_BR %bb.2, implicit-def $ra {
  ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
  ; PIC:   }
  ; PIC: bb.2 (%ir-block.0):
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   $at = ADDu $ra, $at
  ; PIC:   $ra = LW $sp, 0
  ; PIC:   JR $at {
  ; PIC:     $sp = ADDiu $sp, 8
  ; PIC:   }
  ; PIC: bb.3.iftrue:
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   INLINEASM &".space 131068", 1
  ; PIC: bb.4.tail:
  ; PIC:   PseudoReturn undef $ra {
  ; PIC:     NOP
  ; PIC:   }
  bb.0 (%ir-block.0):
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $a0

    renamable $at = ANDi killed renamable $a0, 1
    BGEZ killed renamable $at, %bb.2, implicit-def $at

  bb.1.iftrue:
    successors: %bb.2(0x80000000)

    INLINEASM &".space 131068", 1

  bb.2.tail:
    PseudoReturn undef $ra

...
---

name:            expand_BGTZ
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
registers:
liveins:
  - { reg: '$a0', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
constants:
body:             |
  ; MIPS-LABEL: name: expand_BGTZ
  ; MIPS: bb.0 (%ir-block.0):
  ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
  ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
  ; MIPS:   BLEZ $at, %bb.2, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.1 (%ir-block.0):
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   J %bb.3, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.2.iftrue:
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   INLINEASM &".space 131068", 1
  ; MIPS: bb.3.tail:
  ; MIPS:   PseudoReturn undef $ra {
  ; MIPS:     NOP
  ; MIPS:   }
  ; PIC-LABEL: name: expand_BGTZ
  ; PIC: bb.0 (%ir-block.0):
  ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
  ; PIC:   renamable $at = ANDi killed renamable $a0, 1
  ; PIC:   BLEZ $at, %bb.3, implicit-def $at {
  ; PIC:     NOP
  ; PIC:   }
  ; PIC: bb.1 (%ir-block.0):
  ; PIC:   successors: %bb.2(0x80000000)
  ; PIC:   $sp = ADDiu $sp, -8
  ; PIC:   SW $ra, $sp, 0
  ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
  ; PIC:   BAL_BR %bb.2, implicit-def $ra {
  ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
  ; PIC:   }
  ; PIC: bb.2 (%ir-block.0):
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   $at = ADDu $ra, $at
  ; PIC:   $ra = LW $sp, 0
  ; PIC:   JR $at {
  ; PIC:     $sp = ADDiu $sp, 8
  ; PIC:   }
  ; PIC: bb.3.iftrue:
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   INLINEASM &".space 131068", 1
  ; PIC: bb.4.tail:
  ; PIC:   PseudoReturn undef $ra {
  ; PIC:     NOP
  ; PIC:   }
  bb.0 (%ir-block.0):
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $a0

    renamable $at = ANDi killed renamable $a0, 1
    BGTZ killed renamable $at, %bb.2, implicit-def $at

  bb.1.iftrue:
    successors: %bb.2(0x80000000)

    INLINEASM &".space 131068", 1

  bb.2.tail:
    PseudoReturn undef $ra

...
---

name:            expand_BLEZ
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
registers:
liveins:
  - { reg: '$a0', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
constants:
body:             |
  ; MIPS-LABEL: name: expand_BLEZ
  ; MIPS: bb.0 (%ir-block.0):
  ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
  ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
  ; MIPS:   BGTZ $at, %bb.2, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.1 (%ir-block.0):
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   J %bb.3, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.2.iftrue:
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   INLINEASM &".space 131068", 1
  ; MIPS: bb.3.tail:
  ; MIPS:   PseudoReturn undef $ra {
  ; MIPS:     NOP
  ; MIPS:   }
  ; PIC-LABEL: name: expand_BLEZ
  ; PIC: bb.0 (%ir-block.0):
  ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
  ; PIC:   renamable $at = ANDi killed renamable $a0, 1
  ; PIC:   BGTZ $at, %bb.3, implicit-def $at {
  ; PIC:     NOP
  ; PIC:   }
  ; PIC: bb.1 (%ir-block.0):
  ; PIC:   successors: %bb.2(0x80000000)
  ; PIC:   $sp = ADDiu $sp, -8
  ; PIC:   SW $ra, $sp, 0
  ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
  ; PIC:   BAL_BR %bb.2, implicit-def $ra {
  ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
  ; PIC:   }
  ; PIC: bb.2 (%ir-block.0):
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   $at = ADDu $ra, $at
  ; PIC:   $ra = LW $sp, 0
  ; PIC:   JR $at {
  ; PIC:     $sp = ADDiu $sp, 8
  ; PIC:   }
  ; PIC: bb.3.iftrue:
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   INLINEASM &".space 131068", 1
  ; PIC: bb.4.tail:
  ; PIC:   PseudoReturn undef $ra {
  ; PIC:     NOP
  ; PIC:   }
  bb.0 (%ir-block.0):
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $a0

    renamable $at = ANDi killed renamable $a0, 1
    BLEZ killed renamable $at, %bb.2, implicit-def $at

  bb.1.iftrue:
    successors: %bb.2(0x80000000)

    INLINEASM &".space 131068", 1

  bb.2.tail:
    PseudoReturn undef $ra

...
---

name:            expand_BLTZ
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
registers:
liveins:
  - { reg: '$a0', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
constants:
body:             |
  ; MIPS-LABEL: name: expand_BLTZ
  ; MIPS: bb.0 (%ir-block.0):
  ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
  ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
  ; MIPS:   BGEZ $at, %bb.2, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.1 (%ir-block.0):
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   J %bb.3, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.2.iftrue:
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   INLINEASM &".space 131068", 1
  ; MIPS: bb.3.tail:
  ; MIPS:   PseudoReturn undef $ra {
  ; MIPS:     NOP
  ; MIPS:   }
  ; PIC-LABEL: name: expand_BLTZ
  ; PIC: bb.0 (%ir-block.0):
  ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
  ; PIC:   renamable $at = ANDi killed renamable $a0, 1
  ; PIC:   BGEZ $at, %bb.3, implicit-def $at {
  ; PIC:     NOP
  ; PIC:   }
  ; PIC: bb.1 (%ir-block.0):
  ; PIC:   successors: %bb.2(0x80000000)
  ; PIC:   $sp = ADDiu $sp, -8
  ; PIC:   SW $ra, $sp, 0
  ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
  ; PIC:   BAL_BR %bb.2, implicit-def $ra {
  ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
  ; PIC:   }
  ; PIC: bb.2 (%ir-block.0):
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   $at = ADDu $ra, $at
  ; PIC:   $ra = LW $sp, 0
  ; PIC:   JR $at {
  ; PIC:     $sp = ADDiu $sp, 8
  ; PIC:   }
  ; PIC: bb.3.iftrue:
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   INLINEASM &".space 131068", 1
  ; PIC: bb.4.tail:
  ; PIC:   PseudoReturn undef $ra {
  ; PIC:     NOP
  ; PIC:   }
  bb.0 (%ir-block.0):
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $a0

    renamable $at = ANDi killed renamable $a0, 1
    BLTZ killed renamable $at, %bb.2, implicit-def $at

  bb.1.iftrue:
    successors: %bb.2(0x80000000)

    INLINEASM &".space 131068", 1

  bb.2.tail:
    PseudoReturn undef $ra

...
---

name:            expand_BNE
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
registers:
liveins:
  - { reg: '$a0', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
constants:
body:             |
  ; MIPS-LABEL: name: expand_BNE
  ; MIPS: bb.0 (%ir-block.0):
  ; MIPS:   successors: %bb.2(0x40000000), %bb.1(0x40000000)
  ; MIPS:   renamable $at = ANDi killed renamable $a0, 1
  ; MIPS:   BEQ $at, $zero, %bb.2, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.1 (%ir-block.0):
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   J %bb.3, implicit-def $at {
  ; MIPS:     NOP
  ; MIPS:   }
  ; MIPS: bb.2.iftrue:
  ; MIPS:   successors: %bb.3(0x80000000)
  ; MIPS:   INLINEASM &".space 131068", 1
  ; MIPS: bb.3.tail:
  ; MIPS:   PseudoReturn undef $ra {
  ; MIPS:     NOP
  ; MIPS:   }
  ; PIC-LABEL: name: expand_BNE
  ; PIC: bb.0 (%ir-block.0):
  ; PIC:   successors: %bb.3(0x40000000), %bb.1(0x40000000)
  ; PIC:   renamable $at = ANDi killed renamable $a0, 1
  ; PIC:   BEQ $at, $zero, %bb.3, implicit-def $at {
  ; PIC:     NOP
  ; PIC:   }
  ; PIC: bb.1 (%ir-block.0):
  ; PIC:   successors: %bb.2(0x80000000)
  ; PIC:   $sp = ADDiu $sp, -8
  ; PIC:   SW $ra, $sp, 0
  ; PIC:   $at = LONG_BRANCH_LUi target-flags(mips-abs-hi) %bb.4, %bb.2
  ; PIC:   BAL_BR %bb.2, implicit-def $ra {
  ; PIC:     $at = LONG_BRANCH_ADDiu $at, target-flags(mips-abs-lo) %bb.4, %bb.2
  ; PIC:   }
  ; PIC: bb.2 (%ir-block.0):
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   $at = ADDu $ra, $at
  ; PIC:   $ra = LW $sp, 0
  ; PIC:   JR $at {
  ; PIC:     $sp = ADDiu $sp, 8
  ; PIC:   }
  ; PIC: bb.3.iftrue:
  ; PIC:   successors: %bb.4(0x80000000)
  ; PIC:   INLINEASM &".space 131068", 1
  ; PIC: bb.4.tail:
  ; PIC:   PseudoReturn undef $ra {
  ; PIC:     NOP
  ; PIC:   }
  bb.0 (%ir-block.0):
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $a0

    renamable $at = ANDi killed renamable $a0, 1
    BNE killed renamable $at, $zero, %bb.2, implicit-def $at

  bb.1.iftrue:
    successors: %bb.2(0x80000000)

    INLINEASM &".space 131068", 1

  bb.2.tail:
    PseudoReturn undef $ra

...
