# RUN: llc -mtriple=thumbv8.1m.main -run-pass=arm-low-overhead-loops %s --verify-machineinstrs -o - | FileCheck %s

# CHECK: name: non_loop
# CHECK: bb.0.entry:
# CHECK:   tBcc %bb.2, 3
# CHECK: bb.1.not.preheader:
# CHECK:   t2CMPri renamable $lr, 0, 14
# CHECK:   tBcc %bb.4, 0
# CHECK:   tB %bb.2
# CHECK: bb.3.while.body:
# CHECK:   t2CMPri renamable $lr, 0, 14
# CHECK:   tBcc %bb.3, 1
# CHECK:   tB %bb.4
# CHECK: bb.4.while.end:

--- |
  target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
  target triple = "thumbv8.1m.main"
  
  define void @non_loop(i16* nocapture %a, i16* nocapture readonly %b, i32 %N) {
  entry:
    %cmp = icmp ugt i32 %N, 2
    br i1 %cmp, label %not.preheader, label %while.body.preheader
  
  not.preheader:                                    ; preds = %entry
    %test = call i1 @llvm.test.set.loop.iterations.i32(i32 %N)
    br i1 %test, label %while.body.preheader, label %while.end
  
  while.body.preheader:                             ; preds = %not.preheader, %entry
    %scevgep = getelementptr i16, i16* %a, i32 -1
    %scevgep3 = getelementptr i16, i16* %b, i32 -1
    br label %while.body
  
  while.body:                                       ; preds = %while.body, %while.body.preheader
    %lsr.iv4 = phi i16* [ %scevgep3, %while.body.preheader ], [ %scevgep5, %while.body ]
    %lsr.iv = phi i16* [ %scevgep, %while.body.preheader ], [ %scevgep1, %while.body ]
    %count = phi i32 [ %count.next, %while.body ], [ %N, %while.body.preheader ]
    %scevgep7 = getelementptr i16, i16* %lsr.iv, i32 1
    %scevgep4 = getelementptr i16, i16* %lsr.iv4, i32 1
    %load = load i16, i16* %scevgep4, align 2
    store i16 %load, i16* %scevgep7, align 2
    %count.next = call i32 @llvm.loop.decrement.reg.i32.i32.i32(i32 %count, i32 1)
    %cmp1 = icmp ne i32 %count.next, 0
    %scevgep1 = getelementptr i16, i16* %lsr.iv, i32 1
    %scevgep5 = getelementptr i16, i16* %lsr.iv4, i32 1
    br i1 %cmp1, label %while.body, label %while.end
  
  while.end:                                        ; preds = %while.body, %not.preheader
    ret void
  }
  
  declare i1 @llvm.test.set.loop.iterations.i32(i32) #0
  declare i32 @llvm.loop.decrement.reg.i32.i32.i32(i32, i32) #0
  declare void @llvm.stackprotector(i8*, i8**) #1
  
  attributes #0 = { noduplicate nounwind }
  attributes #1 = { nounwind }

...
---
name:            non_loop
alignment:       2
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
hasWinCFI:       false
registers:       []
liveins:
  - { reg: '$r0', virtual-reg: '' }
  - { reg: '$r1', virtual-reg: '' }
  - { reg: '$r2', virtual-reg: '' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       8
  offsetAdjustment: 0
  maxAlignment:    4
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 0
  cvBytesOfCalleeSavedRegisters: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  localFrameSize:  0
  savePoint:       ''
  restorePoint:    ''
fixedStack:      []
stack:
  - { id: 0, name: '', type: spill-slot, offset: -4, size: 4, alignment: 4, 
      stack-id: default, callee-saved-register: '$lr', callee-saved-restored: false, 
      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
  - { id: 1, name: '', type: spill-slot, offset: -8, size: 4, alignment: 4, 
      stack-id: default, callee-saved-register: '$r7', callee-saved-restored: true, 
      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
callSites:       []
constants:       []
machineFunctionInfo: {}
body:             |
  bb.0.entry:
    successors: %bb.1(0x40000000), %bb.2(0x40000000)
    liveins: $r0, $r1, $r2, $r7, $lr
  
    frame-setup tPUSH 14, $noreg, killed $r7, 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 $r7, -8
    $lr = tMOVr $r2, 14, $noreg
    tCMPi8 killed $r2, 3, 14, $noreg, implicit-def $cpsr
    tBcc %bb.2, 3, killed $cpsr
  
  bb.1.not.preheader:
    successors: %bb.2(0x40000000), %bb.4(0x40000000)
    liveins: $lr, $r0, $r1
  
    t2WhileLoopStart renamable $lr, %bb.4, implicit-def dead $cpsr
    tB %bb.2, 14, $noreg
  
  bb.2.while.body.preheader:
    successors: %bb.3(0x80000000)
    liveins: $lr, $r0, $r1
  
    renamable $r1, dead $cpsr = tSUBi8 killed renamable $r1, 2, 14, $noreg
    renamable $r0, dead $cpsr = tSUBi8 killed renamable $r0, 2, 14, $noreg
  
  bb.3.while.body:
    successors: %bb.3(0x7c000000), %bb.4(0x04000000)
    liveins: $lr, $r0, $r1
  
    renamable $r2, renamable $r1 = t2LDRH_PRE killed renamable $r1, 2, 14, $noreg :: (load 2 from %ir.scevgep4)
    early-clobber renamable $r0 = t2STRH_PRE killed renamable $r2, killed renamable $r0, 2, 14, $noreg :: (store 2 into %ir.scevgep7)
    renamable $lr = t2LoopDec killed renamable $lr, 1
    t2LoopEnd renamable $lr, %bb.3, implicit-def dead $cpsr
    tB %bb.4, 14, $noreg
  
  bb.4.while.end:
    tPOP_RET 14, $noreg, def $r7, def $pc

...
