# REQUIRES: asserts
# RUN: llc -run-pass arm-cp-islands %s -o - | FileCheck %s
#
# This is a reduced test made to expose a bug in
# ARMConstantIslandPass in Thumb1 mode, see PR36658.

# Verify optimized JT code uses TBB instructions.
# CHECK-LABEL: bb.7.entry:
# CHECK: tTBB_JT $pc, killed $r2, %jump-table.1, 0
# CHECK-LABEL: bb.8:
# CHECK: JUMPTABLE_TBB 0, %jump-table.1, 44

# CHECK-LABEL: bb.11.entry:
# CHECK: $r1 = tMOVSr $r0, implicit-def dead $cpsr
# CHECK: tTBB_JT $pc, killed $r2, %jump-table.0, 1
# CHECK-LABEL: bb.12:
# CHECK: JUMPTABLE_TBB 1, %jump-table.0, 44

--- |
  ; ModuleID = 'PR36658.ll'
  source_filename = "PR36658.ll"
  target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
  target triple = "thumbv5e-none-linux-gnueabi"

  declare i32 @foo1(...)

  declare i32 @foo2(i32)

  declare i32 @foo3(i32*)

  ; Function Attrs: nounwind optsize
  define internal fastcc i32 @foo4(i32* nocapture %ignore_ptr) #0 {
  entry:
    %call = tail call i32 @foo3(i32* undef)
    switch i32 %call, label %sw.epilog [
      i32 120, label %sw.bb
      i32 48, label %sw.bb73
      i32 49, label %sw.bb73
      i32 50, label %sw.bb73
      i32 51, label %sw.bb73
      i32 52, label %sw.bb73
      i32 53, label %sw.bb73
      i32 54, label %sw.bb73
      i32 55, label %sw.bb73
      i32 92, label %cleanup
      i32 39, label %cleanup
      i32 34, label %cleanup
      i32 10, label %sw.bb91
      i32 110, label %sw.bb93
      i32 116, label %sw.bb94
      i32 114, label %sw.bb95
      i32 102, label %sw.bb96
      i32 98, label %sw.bb97
      i32 97, label %sw.bb98
      i32 118, label %sw.bb106
      i32 101, label %sw.bb107
      i32 69, label %sw.bb107
      i32 63, label %cleanup
    ]

  sw.bb:                                            ; preds = %entry
    br label %while.cond

  while.cond:                                       ; preds = %while.cond, %sw.bb
    %call5 = tail call i32 @foo3(i32* null)
    br label %while.cond

  sw.bb73:                                          ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
    %0 = and i32 %call, -8
    %1 = icmp eq i32 %0, 48
    br i1 %1, label %while.body83.preheader, label %while.end88

  while.body83.preheader:                           ; preds = %sw.bb73
    br label %while.body83

  while.body83:                                     ; preds = %while.body83.preheader, %while.body83
    %call87 = tail call i32 @foo3(i32* null)
    br label %while.body83

  while.end88:                                      ; preds = %sw.bb73
    %call89 = tail call i32 @foo2(i32 %call)
    unreachable

  sw.bb91:                                          ; preds = %entry
    store i32 1, i32* %ignore_ptr, align 4
    br label %cleanup

  sw.bb93:                                          ; preds = %entry
    br label %cleanup

  sw.bb94:                                          ; preds = %entry
    br label %cleanup

  sw.bb95:                                          ; preds = %entry
    br label %cleanup

  sw.bb96:                                          ; preds = %entry
    br label %cleanup

  sw.bb97:                                          ; preds = %entry
    br label %cleanup

  sw.bb98:                                          ; preds = %entry
    br label %cleanup

  sw.bb106:                                         ; preds = %entry
    br label %cleanup

  sw.bb107:                                         ; preds = %entry, %entry
    br i1 undef, label %cleanup, label %if.then109

  if.then109:                                       ; preds = %sw.bb107
    %call110 = tail call i32 bitcast (i32 (...)* @foo1 to i32 (i8*, i32)*)(i8* undef, i32 %call)
    unreachable

  sw.epilog:                                        ; preds = %entry
    %call.off = add i32 %call, -32
    unreachable

  cleanup:                                          ; preds = %sw.bb107, %sw.bb106, %sw.bb98, %sw.bb97, %sw.bb96, %sw.bb95, %sw.bb94, %sw.bb93, %sw.bb91, %entry, %entry, %entry, %entry
    %retval.0 = phi i32 [ 11, %sw.bb106 ], [ 7, %sw.bb98 ], [ 8, %sw.bb97 ], [ 12, %sw.bb96 ], [ 13, %sw.bb95 ], [ 9, %sw.bb94 ], [ 10, %sw.bb93 ], [ 0, %sw.bb91 ], [ %call, %entry ], [ %call, %entry ], [ %call, %entry ], [ 27, %sw.bb107 ], [ %call, %entry ]
    ret i32 %retval.0
  }

  ; Function Attrs: nounwind
  declare void @llvm.stackprotector(i8*, i8**) #1

  attributes #0 = { nounwind optsize }
  attributes #1 = { nounwind }

...
---
name:            foo4
alignment:       1
tracksRegLiveness: true
liveins:
  - { reg: '$r0' }
frameInfo:
  stackSize:       8
  maxAlignment:    4
  adjustsStack:    true
  hasCalls:        true
  maxCallFrameSize: 0
stack:
  - { id: 0, type: spill-slot, offset: -4, size: 4, alignment: 4, stack-id: 0,
      callee-saved-register: '$lr', callee-saved-restored: false }
  - { id: 1, type: spill-slot, offset: -8, size: 4, alignment: 4, stack-id: 0,
      callee-saved-register: '$r4' }
jumpTable:
  kind:            inline
  entries:
    - id:              0
      blocks:          [ '%bb.28', '%bb.26', '%bb.26', '%bb.26', '%bb.26',
                         '%bb.24', '%bb.23', '%bb.26', '%bb.26', '%bb.12',
                         '%bb.22' ]
    - id:              1
      blocks:          [ '%bb.19', '%bb.26', '%bb.26', '%bb.26', '%bb.21',
                         '%bb.26', '%bb.20', '%bb.26', '%bb.25', '%bb.26',
                         '%bb.15' ]
body:             |
  bb.0.entry:
    successors: %bb.1(0x42c8590b), %bb.9(0x3d37a6f5)
    liveins: $r0, $r4, $lr

    frame-setup tPUSH 14, $noreg, killed $r4, killed $lr, implicit-def $sp, implicit $sp
    frame-setup CFI_INSTRUCTION def_cfa_offset 8
    frame-setup CFI_INSTRUCTION offset $lr, -4
    frame-setup CFI_INSTRUCTION offset $r4, -8
    $r4 = tMOVSr $r0, implicit-def dead $cpsr
    tBL 14, $noreg, @foo3, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit undef $r0, implicit-def $sp, implicit-def $r0
    $r1 = tMOVSr $r0, implicit-def dead $cpsr
    tCMPi8 $r0, 68, 14, $noreg, implicit-def $cpsr
    tBcc %bb.9, 12, killed $cpsr

  bb.1.entry:
    successors: %bb.2(0x20000000), %bb.7(0x60000000)
    liveins: $r0, $r1, $r4

    tCMPi8 renamable $r1, 47, 14, $noreg, implicit-def $cpsr
    tBcc %bb.2, 13, killed $cpsr

  bb.7.entry:
    successors: %bb.16(0x71c71c72), %bb.8(0x0e38e38e)
    liveins: $r0, $r1

    $r2 = tMOVSr $r1, implicit-def dead $cpsr
    renamable $r2, dead $cpsr = tSUBi8 killed renamable $r2, 48, 14, $noreg
    tCMPi8 killed renamable $r2, 8, 14, $noreg, implicit-def $cpsr
    tBcc %bb.8, 2, killed $cpsr

  bb.16.sw.bb73:
    successors: %bb.17(0x7fffffff), %bb.18(0x00000001)
    liveins: $r0, $r1

    renamable $r2, dead $cpsr = tMOVi8 7, 14, $noreg
    renamable $r1, dead $cpsr = tBIC killed renamable $r1, killed renamable $r2, 14, $noreg
    tCMPi8 killed renamable $r1, 48, 14, $noreg, implicit-def $cpsr
    tBcc %bb.18, 1, killed $cpsr

  bb.17.while.body83:
    renamable $r0, dead $cpsr = tMOVi8 0, 14, $noreg
    tBL 14, $noreg, @foo3, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r0
    tB %bb.17, 14, $noreg

  bb.9.entry:
    successors: %bb.10(0x45d1745d), %bb.29(0x3a2e8ba3)
    liveins: $r0, $r1

    $r2 = tMOVSr $r1, implicit-def dead $cpsr
    renamable $r2, dead $cpsr = tSUBi8 killed renamable $r2, 92, 14, $noreg
    tCMPi8 renamable $r2, 10, 14, $noreg, implicit-def $cpsr
    tBcc %bb.29, 9, killed $cpsr

  bb.10.entry:
    successors: %bb.11(0x15555555), %bb.14(0x6aaaaaab)
    liveins: $r0, $r1

    $r2 = tMOVSr $r1, implicit-def dead $cpsr
    renamable $r2, dead $cpsr = tSUBi8 killed renamable $r2, 110, 14, $noreg
    tCMPi8 renamable $r2, 10, 14, $noreg, implicit-def $cpsr
    tBcc %bb.11, 8, killed $cpsr

  bb.14.entry:
    successors: %bb.19(0x1999999a), %bb.26(0x00000000), %bb.21(0x1999999a), %bb.20(0x1999999a), %bb.25(0x1999999a), %bb.15(0x1999999a)
    liveins: $r2

    renamable $r0, dead $cpsr = tLSLri killed renamable $r2, 2, 14, $noreg
    renamable $r1 = tLEApcrelJT %jump-table.1, 14, $noreg
    renamable $r0 = tLDRr killed renamable $r1, killed renamable $r0, 14, $noreg :: (load 4 from jump-table)
    tBR_JTr killed renamable $r0, %jump-table.1

  bb.19.sw.bb93:
    renamable $r1, dead $cpsr = tMOVi8 10, 14, $noreg
    tB %bb.28, 14, $noreg

  bb.15.while.cond:
    renamable $r0, dead $cpsr = tMOVi8 0, 14, $noreg
    tBL 14, $noreg, @foo3, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r0
    tB %bb.15, 14, $noreg

  bb.29.entry:
    successors: %bb.28(0x1999999a), %bb.26(0x00000000), %bb.24(0x1999999a), %bb.23(0x1999999a), %bb.12(0x1999999a), %bb.22(0x1999999a)
    liveins: $r0, $r2

    renamable $r1, dead $cpsr = tLSLri killed renamable $r2, 2, 14, $noreg
    renamable $r2 = tLEApcrelJT %jump-table.0, 14, $noreg
    renamable $r2 = tLDRr killed renamable $r2, killed renamable $r1, 14, $noreg :: (load 4 from jump-table)
    $r1 = tMOVSr $r0, implicit-def dead $cpsr
    tBR_JTr killed renamable $r2, %jump-table.0

  bb.24.sw.bb98:
    renamable $r1, dead $cpsr = tMOVi8 7, 14, $noreg
    tB %bb.28, 14, $noreg

  bb.2.entry:
    successors: %bb.27(0x2aaaaaab), %bb.3(0x55555555)
    liveins: $r0, $r1, $r4

    tCMPi8 renamable $r1, 10, 14, $noreg, implicit-def $cpsr
    tBcc %bb.27, 0, killed $cpsr

  bb.3.entry:
    successors: %bb.4, %bb.5
    liveins: $r0, $r1

    tCMPi8 renamable $r1, 34, 14, $noreg, implicit-def $cpsr
    tBcc %bb.5, 1, killed $cpsr

  bb.4:
    liveins: $r0

    $r1 = tMOVSr killed $r0, implicit-def dead $cpsr
    tB %bb.28, 14, $noreg

  bb.25.sw.bb106:
    renamable $r1, dead $cpsr = tMOVi8 11, 14, $noreg
    tB %bb.28, 14, $noreg

  bb.23.sw.bb97:
    renamable $r1, dead $cpsr = tMOVi8 8, 14, $noreg
    tB %bb.28, 14, $noreg

  bb.27.sw.bb91:
    liveins: $r4

    renamable $r0, dead $cpsr = tMOVi8 1, 14, $noreg
    tSTRi killed renamable $r0, killed renamable $r4, 0, 14, $noreg :: (store 4 into %ir.ignore_ptr)
    renamable $r1, dead $cpsr = tMOVi8 0, 14, $noreg
    tB %bb.28, 14, $noreg

  bb.21.sw.bb95:
    renamable $r1, dead $cpsr = tMOVi8 13, 14, $noreg
    tB %bb.28, 14, $noreg

  bb.20.sw.bb94:
    renamable $r1, dead $cpsr = tMOVi8 9, 14, $noreg
    tB %bb.28, 14, $noreg

  bb.5.entry:
    liveins: $r0, $r1

    tCMPi8 killed renamable $r1, 39, 14, $noreg, implicit-def $cpsr
    tB %bb.6, 14, $noreg

  bb.11.entry:
    successors: %bb.12(0x80000000), %bb.26(0x00000000)
    liveins: $r0, $r1

    tCMPi8 killed renamable $r1, 69, 14, $noreg, implicit-def $cpsr
    tBcc %bb.26, 1, killed $cpsr

  bb.12.sw.bb107:
    successors: %bb.28(0x7fffffff), %bb.13(0x00000001)
    liveins: $r0

    renamable $r1, dead $cpsr = tMOVi8 27, 14, $noreg
    renamable $r2, dead $cpsr = tMOVi8 0, 14, $noreg
    tCMPi8 killed renamable $r2, 0, 14, $noreg, implicit-def $cpsr
    tBcc %bb.28, 1, killed $cpsr

  bb.13.if.then109:
    successors:
    liveins: $r0

    $r1 = tMOVSr killed $r0, implicit-def dead $cpsr
    tBL 14, $noreg, @foo1, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit undef $r0, implicit $r1, implicit-def $sp, implicit-def dead $r0

  bb.8.entry:
    liveins: $r0, $r1

    tCMPi8 killed renamable $r1, 63, 14, $noreg, implicit-def $cpsr

  bb.6.entry:
    successors: %bb.28(0x80000000), %bb.26(0x00000000)
    liveins: $cpsr, $r0

    tPUSH 14, $noreg, killed $r0, implicit-def $sp, implicit $sp
    tPOP 14, $noreg, def $r1, implicit-def $sp, implicit $sp
    tBcc %bb.28, 0, killed $cpsr

  bb.26.sw.epilog:
    successors:


  bb.22.sw.bb96:
    renamable $r1, dead $cpsr = tMOVi8 12, 14, $noreg

  bb.28.cleanup:
    liveins: $r1

    $r0 = tMOVSr killed $r1, implicit-def dead $cpsr
    tPOP_RET 14, $noreg, def $r4, def $pc, implicit-def $sp, implicit $sp, implicit $r0

  bb.18.while.end88:
    liveins: $r0

    tBL 14, $noreg, @foo2, csr_aapcs, implicit-def dead $lr, implicit $sp, implicit $r0, implicit-def $sp, implicit-def dead $r0

...
