# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple aarch64 -aarch64-enable-subreg-liveness-tracking --run-pass=greedy,virtregrewriter -verify-machineinstrs %s -o - | FileCheck %s

# We should ideally not spill around any of the SUBSWri in the loop exit blocks (if.end and if.end27).

--- |
  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64"

  @g = dso_local local_unnamed_addr global [9 x [9 x i32]] zeroinitializer, align 4

  define void @test(ptr nocapture noundef readonly %p, i32 noundef %m, ptr noundef %q) {
  entry:
    %0 = load i32, ptr %p, align 4
    %spec.select = tail call i32 @llvm.smax.i32(i32 %0, i32 1)
    %arrayidx2 = getelementptr inbounds i32, ptr %p, i64 1
    %1 = load i32, ptr %arrayidx2, align 4
    %cond8 = tail call i32 @llvm.smax.i32(i32 %1, i32 1)
    br label %do.body

  do.body:                                          ; preds = %if.end27, %entry
    %indvars.iv49 = phi i64 [ %indvars.iv.next50, %if.end27 ], [ 0, %entry ]
    %n0.0 = phi i32 [ %dec30, %if.end27 ], [ %spec.select, %entry ]
    %n1.0 = phi i32 [ %n1.2, %if.end27 ], [ %cond8, %entry ]
    %arrayidx9 = getelementptr inbounds [9 x [9 x i32]], ptr @g, i64 0, i64 %indvars.iv49
    %2 = load i32, ptr %arrayidx9, align 4
    %cmp11 = icmp sgt i32 %2, 0
    br i1 %cmp11, label %do.body12.preheader, label %if.end27

  do.body12.preheader:                              ; preds = %do.body
    br label %do.body12

  do.body12:                                        ; preds = %do.body12.preheader, %if.end
    %indvars.iv = phi i64 [ %indvars.iv.next, %if.end ], [ 0, %do.body12.preheader ]
    %n1.1 = phi i32 [ %dec, %if.end ], [ %n1.0, %do.body12.preheader ]
    %arrayidx14 = getelementptr inbounds [9 x [9 x i32]], ptr @g, i64 0, i64 %indvars.iv
    %3 = load i32, ptr %arrayidx14, align 4
    %cmp16 = icmp sgt i32 %3, 0
    br i1 %cmp16, label %if.then17, label %if.end

  if.then17:                                        ; preds = %do.body12
    %arrayidx19 = getelementptr inbounds i32, ptr %q, i64 %indvars.iv
    %4 = load volatile i32, ptr %arrayidx19, align 4
    br label %for.body

  for.cond.cleanup:                                 ; preds = %for.body
    tail call void asm sideeffect "nop;nop", "~{x0},~{x2},~{x3},~{x4},~{x5},~{x6},~{x7},~{x8},~{x9},~{x10},~{x11},~{x12},~{x13},~{x14},~{x15},~{x16},~{x17},~{x18},~{x19},~{x20},~{x21},~{x22},~{x23},~{x24},~{x25},~{x26},~{x27},~{x28},~{fp},~{lr}"() #3
    %sunkaddr = mul i64 %indvars.iv, 4
    %sunkaddr1 = getelementptr inbounds i8, ptr %q, i64 %sunkaddr
    store volatile i32 %add, ptr %sunkaddr1, align 4
    br label %if.end

  for.body:                                         ; preds = %for.body, %if.then17
    %lsr.iv = phi i32 [ %lsr.iv.next, %for.body ], [ 100, %if.then17 ]
    %s.046 = phi i32 [ %4, %if.then17 ], [ %add, %for.body ]
    %call = tail call i32 @callee() #3
    %add = add nsw i32 %call, %s.046
    %lsr.iv.next = add nsw i32 %lsr.iv, -1
    %exitcond.not = icmp eq i32 %lsr.iv.next, 0
    br i1 %exitcond.not, label %for.cond.cleanup, label %for.body

  if.end:                                           ; preds = %for.cond.cleanup, %do.body12
    %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
    %dec = add nsw i32 %n1.1, -1
    %cmp24.not = icmp eq i32 %dec, 0
    br i1 %cmp24.not, label %do.end, label %do.body12

  do.end:                                           ; preds = %if.end
    %arrayidx26 = getelementptr inbounds i32, ptr %q, i64 %indvars.iv49
    store volatile i32 0, ptr %arrayidx26, align 4
    br label %if.end27

  if.end27:                                         ; preds = %do.end, %do.body
    %n1.2 = phi i32 [ 0, %do.end ], [ %n1.0, %do.body ]
    %indvars.iv.next50 = add nuw nsw i64 %indvars.iv49, 1
    %dec30 = add nsw i32 %n0.0, -1
    %cmp31.not = icmp eq i32 %dec30, 0
    br i1 %cmp31.not, label %do.end32, label %do.body

  do.end32:                                         ; preds = %if.end27
    ret void
  }

  declare i32 @callee(...)

  declare i32 @llvm.smax.i32(i32, i32) #2
...
---
name:            test
alignment:       4
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
failedISel:      false
tracksRegLiveness: true
hasWinCFI:       false
callsEHReturn:   false
callsUnwindInit: false
hasEHContTarget: false
hasEHScopes:     false
hasEHFunclets:   false
isOutlined:      false
debugInstrRef:   false
failsVerification: false
tracksDebugUserValues: false
registers:
  - { id: 0, class: gpr32, preferred-register: '' }
  - { id: 1, class: gpr32, preferred-register: '' }
  - { id: 2, class: gpr64common, preferred-register: '' }
  - { id: 3, class: gpr32sp, preferred-register: '' }
  - { id: 4, class: gpr32all, preferred-register: '' }
  - { id: 5, class: gpr64common, preferred-register: '' }
  - { id: 6, class: gpr32sp, preferred-register: '' }
  - { id: 7, class: gpr32, preferred-register: '' }
  - { id: 8, class: gpr32sp, preferred-register: '' }
  - { id: 9, class: gpr32, preferred-register: '' }
  - { id: 10, class: gpr32, preferred-register: '' }
  - { id: 11, class: gpr32, preferred-register: '' }
  - { id: 12, class: gpr64sp, preferred-register: '' }
  - { id: 13, class: gpr32, preferred-register: '' }
  - { id: 14, class: gpr32all, preferred-register: '' }
  - { id: 15, class: gpr64sp, preferred-register: '' }
  - { id: 16, class: gpr32, preferred-register: '' }
  - { id: 17, class: gpr64common, preferred-register: '' }
  - { id: 18, class: gpr32, preferred-register: '' }
  - { id: 19, class: gpr64common, preferred-register: '' }
  - { id: 20, class: gpr64all, preferred-register: '' }
  - { id: 21, class: gpr32common, preferred-register: '' }
  - { id: 22, class: gpr32, preferred-register: '' }
  - { id: 23, class: gpr32, preferred-register: '' }
  - { id: 24, class: gpr32common, preferred-register: '' }
  - { id: 25, class: gpr32, preferred-register: '' }
  - { id: 26, class: gpr32, preferred-register: '' }
  - { id: 27, class: gpr64all, preferred-register: '' }
  - { id: 28, class: gpr32, preferred-register: '' }
  - { id: 29, class: gpr64, preferred-register: '' }
  - { id: 30, class: gpr64, preferred-register: '' }
  - { id: 31, class: gpr64common, preferred-register: '' }
  - { id: 32, class: gpr32common, preferred-register: '' }
  - { id: 33, class: gpr32, preferred-register: '' }
  - { id: 34, class: gpr64all, preferred-register: '' }
  - { id: 35, class: gpr64all, preferred-register: '' }
  - { id: 36, class: gpr32, preferred-register: '' }
  - { id: 37, class: gpr64, preferred-register: '' }
  - { id: 38, class: gpr64, preferred-register: '' }
  - { id: 39, class: gpr64common, preferred-register: '' }
  - { id: 40, class: gpr32common, preferred-register: '' }
  - { id: 41, class: gpr32, preferred-register: '' }
  - { id: 42, class: gpr32, preferred-register: '' }
  - { id: 43, class: gpr32, preferred-register: '' }
  - { id: 44, class: gpr32, preferred-register: '' }
  - { id: 45, class: gpr32, preferred-register: '' }
  - { id: 46, class: gpr32, preferred-register: '' }
  - { id: 47, class: gpr32, preferred-register: '' }
  - { id: 48, class: gpr64sp, preferred-register: '' }
  - { id: 49, class: gpr32, preferred-register: '' }
  - { id: 50, class: gpr32all, preferred-register: '' }
  - { id: 51, class: gpr32, preferred-register: '' }
  - { id: 52, class: gpr64sp, preferred-register: '' }
  - { id: 53, class: gpr32, preferred-register: '' }
  - { id: 54, class: gpr64common, preferred-register: '' }
  - { id: 55, class: gpr32common, preferred-register: '' }
  - { id: 56, class: gpr32common, preferred-register: '' }
  - { id: 57, class: gpr64common, preferred-register: '' }
  - { id: 58, class: gpr32common, preferred-register: '' }
  - { id: 59, class: gpr32common, preferred-register: '' }
  - { id: 60, class: gpr32, preferred-register: '' }
  - { id: 61, class: gpr32all, preferred-register: '' }
liveins:
  - { reg: '$x0', virtual-reg: '%17' }
  - { reg: '$x2', virtual-reg: '%19' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    true
  hasCalls:        true
  stackProtector:  ''
  functionContext: ''
  maxCallFrameSize: 0
  cvBytesOfCalleeSavedRegisters: 0
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  hasTailCall:     false
  localFrameSize:  0
  savePoint:       []
  restorePoint:    []
fixedStack:      []
stack:           []
entry_values:    []
callSites:       []
debugValueSubstitutions: []
constants:       []
machineFunctionInfo: {}
body:             |
  ; CHECK-LABEL: name: test
  ; CHECK: bb.0.entry:
  ; CHECK-NEXT:   successors: %bb.1(0x80000000)
  ; CHECK-NEXT:   liveins: $x0, $x2
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $x10 = COPY $xzr
  ; CHECK-NEXT:   renamable $w8 = LDRWui renamable $x0, 0 :: (load (s32) from %ir.p)
  ; CHECK-NEXT:   renamable $w9 = LDRWui killed renamable $x0, 1 :: (load (s32) from %ir.arrayidx2)
  ; CHECK-NEXT:   dead $wzr = SUBSWri renamable $w8, 1, 0, implicit-def $nzcv
  ; CHECK-NEXT:   renamable $w11 = CSINCWr killed renamable $w8, $wzr, 12, implicit $nzcv
  ; CHECK-NEXT:   renamable $x8 = COPY killed renamable $x10
  ; CHECK-NEXT:   dead $wzr = SUBSWri renamable $w9, 1, 0, implicit-def $nzcv
  ; CHECK-NEXT:   renamable $w10 = CSINCWr killed renamable $w9, $wzr, 12, implicit $nzcv
  ; CHECK-NEXT:   STRXui renamable $x2, %stack.0, 0 :: (store (s64) into %stack.0)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1.do.body:
  ; CHECK-NEXT:   successors: %bb.3(0x50000000), %bb.2(0x30000000)
  ; CHECK-NEXT:   liveins: $w10, $w11, $x2, $x8
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   STRXui renamable $x8, %stack.1, 0 :: (store (s64) into %stack.1)
  ; CHECK-NEXT:   renamable $w9 = MOVi32imm 36
  ; CHECK-NEXT:   renamable $x8 = MADDXrrr killed renamable $x8, killed renamable $x9, $xzr
  ; CHECK-NEXT:   renamable $x9 = MOVaddr target-flags(aarch64-page) @g, target-flags(aarch64-pageoff, aarch64-nc) @g
  ; CHECK-NEXT:   renamable $w8 = LDRWroX killed renamable $x9, killed renamable $x8, 0, 0 :: (load (s32) from %ir.arrayidx9)
  ; CHECK-NEXT:   dead $wzr = SUBSWri killed renamable $w8, 1, 0, implicit-def $nzcv
  ; CHECK-NEXT:   Bcc 10, %bb.3, implicit $nzcv
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   successors: %bb.10(0x80000000)
  ; CHECK-NEXT:   liveins: $w10, $w11, $x2
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $x8 = LDRXui %stack.1, 0 :: (load (s64) from %stack.1)
  ; CHECK-NEXT:   B %bb.10
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.3.do.body12.preheader:
  ; CHECK-NEXT:   successors: %bb.4(0x80000000)
  ; CHECK-NEXT:   liveins: $w10, $w11, $x2
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $x12 = COPY $xzr
  ; CHECK-NEXT:   STRWui renamable $w11, %stack.2, 0 :: (store (s32) into %stack.2)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.4.do.body12:
  ; CHECK-NEXT:   successors: %bb.5(0x50000000), %bb.8(0x30000000)
  ; CHECK-NEXT:   liveins: $w10, $w11, $x2, $x12
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $w8 = MOVi32imm 36
  ; CHECK-NEXT:   renamable $x8 = MADDXrrr renamable $x12, killed renamable $x8, $xzr
  ; CHECK-NEXT:   renamable $x9 = MOVaddr target-flags(aarch64-page) @g, target-flags(aarch64-pageoff, aarch64-nc) @g
  ; CHECK-NEXT:   renamable $w8 = LDRWroX killed renamable $x9, killed renamable $x8, 0, 0 :: (load (s32) from %ir.arrayidx14)
  ; CHECK-NEXT:   dead $wzr = SUBSWri killed renamable $w8, 1, 0, implicit-def $nzcv
  ; CHECK-NEXT:   Bcc 11, %bb.8, implicit $nzcv
  ; CHECK-NEXT:   B %bb.5
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.5.if.then17:
  ; CHECK-NEXT:   successors: %bb.7(0x80000000)
  ; CHECK-NEXT:   liveins: $w10, $x2, $x12
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   STRWui killed renamable $w10, %stack.3, 0 :: (store (s32) into %stack.3)
  ; CHECK-NEXT:   STRXui renamable $x12, %stack.4, 0 :: (store (s64) into %stack.4)
  ; CHECK-NEXT:   renamable $w20 = LDRWroX killed renamable $x2, killed renamable $x12, 0, 1 :: (volatile load (s32) from %ir.arrayidx19)
  ; CHECK-NEXT:   renamable $w19 = MOVi32imm 100
  ; CHECK-NEXT:   B %bb.7
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.6.for.cond.cleanup:
  ; CHECK-NEXT:   successors: %bb.8(0x80000000)
  ; CHECK-NEXT:   liveins: $w20
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $w1 = COPY killed renamable $w20
  ; CHECK-NEXT:   INLINEASM &"nop;nop", sideeffect attdialect, clobber, implicit-def dead early-clobber $x0, clobber, implicit-def dead early-clobber $x2, clobber, implicit-def dead early-clobber $x3, clobber, implicit-def dead early-clobber $x4, clobber, implicit-def dead early-clobber $x5, clobber, implicit-def dead early-clobber $x6, clobber, implicit-def dead early-clobber $x7, clobber, implicit-def dead early-clobber $x8, clobber, implicit-def dead early-clobber $x9, clobber, implicit-def dead early-clobber $x10, clobber, implicit-def dead early-clobber $x11, clobber, implicit-def dead early-clobber $x12, clobber, implicit-def dead early-clobber $x13, clobber, implicit-def dead early-clobber $x14, clobber, implicit-def dead early-clobber $x15, clobber, implicit-def dead early-clobber $x16, clobber, implicit-def dead early-clobber $x17, clobber, implicit-def dead early-clobber $x18, clobber, implicit-def dead early-clobber $x19, clobber, implicit-def dead early-clobber $x20, clobber, implicit-def dead early-clobber $x21, clobber, implicit-def dead early-clobber $x22, clobber, implicit-def dead early-clobber $x23, clobber, implicit-def dead early-clobber $x24, clobber, implicit-def dead early-clobber $x25, clobber, implicit-def dead early-clobber $x26, clobber, implicit-def dead early-clobber $x27, clobber, implicit-def dead early-clobber $x28, clobber, implicit-def dead early-clobber $fp, clobber, implicit-def dead early-clobber $lr
  ; CHECK-NEXT:   renamable $x2 = LDRXui %stack.0, 0 :: (load (s64) from %stack.0)
  ; CHECK-NEXT:   renamable $x12 = LDRXui %stack.4, 0 :: (load (s64) from %stack.4)
  ; CHECK-NEXT:   STRWroX killed renamable $w1, renamable $x2, renamable $x12, 0, 1 :: (volatile store (s32) into %ir.sunkaddr1)
  ; CHECK-NEXT:   renamable $w11 = LDRWui %stack.2, 0 :: (load (s32) from %stack.2)
  ; CHECK-NEXT:   renamable $w10 = LDRWui %stack.3, 0 :: (load (s32) from %stack.3)
  ; CHECK-NEXT:   B %bb.8
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.7.for.body:
  ; CHECK-NEXT:   successors: %bb.6(0x04000000), %bb.7(0x7c000000)
  ; CHECK-NEXT:   liveins: $w19, $w20
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
  ; CHECK-NEXT:   BL @callee, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $w0
  ; CHECK-NEXT:   ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
  ; CHECK-NEXT:   renamable $w19 = nsw SUBSWri killed renamable $w19, 1, 0, implicit-def $nzcv
  ; CHECK-NEXT:   renamable $w20 = nsw ADDWrr killed renamable $w0, killed renamable $w20
  ; CHECK-NEXT:   Bcc 0, %bb.6, implicit $nzcv
  ; CHECK-NEXT:   B %bb.7
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.8.if.end:
  ; CHECK-NEXT:   successors: %bb.9(0x04000000), %bb.4(0x7c000000)
  ; CHECK-NEXT:   liveins: $w10, $w11, $x2, $x12
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $w10 = nsw SUBSWri killed renamable $w10, 1, 0, implicit-def $nzcv
  ; CHECK-NEXT:   renamable $x12 = nuw nsw ADDXri killed renamable $x12, 1, 0
  ; CHECK-NEXT:   Bcc 1, %bb.4, implicit $nzcv
  ; CHECK-NEXT:   B %bb.9
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.9.do.end:
  ; CHECK-NEXT:   successors: %bb.10(0x80000000)
  ; CHECK-NEXT:   liveins: $w11, $x2
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $w10 = COPY $wzr
  ; CHECK-NEXT:   renamable $x8 = LDRXui %stack.1, 0 :: (load (s64) from %stack.1)
  ; CHECK-NEXT:   STRWroX $wzr, renamable $x2, renamable $x8, 0, 1 :: (volatile store (s32) into %ir.arrayidx26)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.10.if.end27:
  ; CHECK-NEXT:   successors: %bb.11(0x04000000), %bb.1(0x7c000000)
  ; CHECK-NEXT:   liveins: $w10, $w11, $x2, $x8
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   renamable $w11 = nsw SUBSWri killed renamable $w11, 1, 0, implicit-def $nzcv
  ; CHECK-NEXT:   renamable $x8 = nuw nsw ADDXri killed renamable $x8, 1, 0
  ; CHECK-NEXT:   Bcc 1, %bb.1, implicit $nzcv
  ; CHECK-NEXT:   B %bb.11
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.11.do.end32:
  ; CHECK-NEXT:   RET_ReallyLR
  bb.0.entry:
    successors: %bb.1(0x80000000)
    liveins: $x0, $x2

    %19:gpr64common = COPY $x2
    %17:gpr64common = COPY $x0
    %54:gpr64common = COPY $xzr
    %21:gpr32common = LDRWui %17, 0 :: (load (s32) from %ir.p)
    %24:gpr32common = LDRWui %17, 1 :: (load (s32) from %ir.arrayidx2)
    dead $wzr = SUBSWri %21, 1, 0, implicit-def $nzcv
    %55:gpr32common = CSINCWr %21, $wzr, 12, implicit $nzcv
    dead $wzr = SUBSWri %24, 1, 0, implicit-def $nzcv
    %56:gpr32common = CSINCWr %24, $wzr, 12, implicit $nzcv
    undef %29.sub_32:gpr64 = MOVi32imm 36
    %31:gpr64common = MOVaddr target-flags(aarch64-page) @g, target-flags(aarch64-pageoff, aarch64-nc) @g

  bb.1.do.body:
    successors: %bb.2(0x50000000), %bb.11(0x30000000)

    %30:gpr64 = MADDXrrr %54, %29, $xzr
    %32:gpr32common = LDRWroX %31, %30, 0, 0 :: (load (s32) from %ir.arrayidx9)
    dead $wzr = SUBSWri %32, 1, 0, implicit-def $nzcv
    Bcc 10, %bb.2, implicit $nzcv

  bb.11:
    successors: %bb.9(0x80000000)

    B %bb.9

  bb.2.do.body12.preheader:
    successors: %bb.3(0x80000000)

    %57:gpr64common = COPY $xzr

  bb.3.do.body12:
    successors: %bb.4(0x50000000), %bb.7(0x30000000)

    %38:gpr64 = MADDXrrr %57, %29, $xzr
    %40:gpr32common = LDRWroX %31, %38, 0, 0 :: (load (s32) from %ir.arrayidx14)
    dead $wzr = SUBSWri %40, 1, 0, implicit-def $nzcv
    Bcc 11, %bb.7, implicit $nzcv
    B %bb.4

  bb.4.if.then17:
    successors: %bb.6(0x80000000)

    %60:gpr32 = LDRWroX %19, %57, 0, 1 :: (volatile load (s32) from %ir.arrayidx19)
    %59:gpr32common = MOVi32imm 100
    B %bb.6

  bb.5.for.cond.cleanup:
    successors: %bb.7(0x80000000)

    INLINEASM &"nop;nop", sideeffect attdialect, clobber, implicit-def dead early-clobber $x0, clobber, implicit-def dead early-clobber $x2, clobber, implicit-def dead early-clobber $x3, clobber, implicit-def dead early-clobber $x4, clobber, implicit-def dead early-clobber $x5, clobber, implicit-def dead early-clobber $x6, clobber, implicit-def dead early-clobber $x7, clobber, implicit-def dead early-clobber $x8, clobber, implicit-def dead early-clobber $x9, clobber, implicit-def dead early-clobber $x10, clobber, implicit-def dead early-clobber $x11, clobber, implicit-def dead early-clobber $x12, clobber, implicit-def dead early-clobber $x13, clobber, implicit-def dead early-clobber $x14, clobber, implicit-def dead early-clobber $x15, clobber, implicit-def dead early-clobber $x16, clobber, implicit-def dead early-clobber $x17, clobber, implicit-def dead early-clobber $x18, clobber, implicit-def dead early-clobber $x19, clobber, implicit-def dead early-clobber $x20, clobber, implicit-def dead early-clobber $x21, clobber, implicit-def dead early-clobber $x22, clobber, implicit-def dead early-clobber $x23, clobber, implicit-def dead early-clobber $x24, clobber, implicit-def dead early-clobber $x25, clobber, implicit-def dead early-clobber $x26, clobber, implicit-def dead early-clobber $x27, clobber, implicit-def dead early-clobber $x28, clobber, implicit-def dead early-clobber $fp, clobber, implicit-def dead early-clobber $lr
    STRWroX %60, %19, %57, 0, 1 :: (volatile store (s32) into %ir.sunkaddr1)
    B %bb.7

  bb.6.for.body:
    successors: %bb.5(0x04000000), %bb.6(0x7c000000)

    ADJCALLSTACKDOWN 0, 0, implicit-def dead $sp, implicit $sp
    BL @callee, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $w0
    ADJCALLSTACKUP 0, 0, implicit-def dead $sp, implicit $sp
    %45:gpr32 = COPY $w0
    %59:gpr32common = nsw SUBSWri %59, 1, 0, implicit-def $nzcv
    %60:gpr32 = nsw ADDWrr %45, %60
    Bcc 0, %bb.5, implicit $nzcv
    B %bb.6

  bb.7.if.end:
    successors: %bb.8(0x04000000), %bb.3(0x7c000000)

    %56:gpr32common = nsw SUBSWri %56, 1, 0, implicit-def $nzcv
    %57:gpr64common = nuw nsw ADDXri %57, 1, 0
    Bcc 1, %bb.3, implicit $nzcv
    B %bb.8

  bb.8.do.end:
    successors: %bb.9(0x80000000)

    %56:gpr32common = COPY $wzr
    STRWroX $wzr, %19, %54, 0, 1 :: (volatile store (s32) into %ir.arrayidx26)

  bb.9.if.end27:
    successors: %bb.10(0x04000000), %bb.1(0x7c000000)

    %55:gpr32common = nsw SUBSWri %55, 1, 0, implicit-def $nzcv
    %54:gpr64common = nuw nsw ADDXri %54, 1, 0
    Bcc 1, %bb.1, implicit $nzcv
    B %bb.10

  bb.10.do.end32:
    RET_ReallyLR

...
