# RUN: llc -o - %s -mtriple=aarch64-apple-ios -run-pass=aarch64-collect-loh -debug-only=aarch64-collect-loh 2>&1 | FileCheck %s
# REQUIRES: asserts
--- |
  @rrdpb = local_unnamed_addr global i32 zeroinitializer, align 8

  define internal void @test_use_between() {
    ret void
  }
  define internal void @test_no_use_between() {
    ret void
  }

...
# CHECK-LABEL: ********** AArch64 Collect LOH **********
# CHECK-LABEL: Looking in function test_use_between
# Check that we don't have an AdrpAdd LOH because there's a use of the ADD defreg
# in between the two.
# CHECK-NOT: MCLOH_AdrpAdd

# CHECK-LABEL: Looking in function test_no_use_between
# CHECK: MCLOH_AdrpAdd
---
name:            test_use_between
alignment:       4
tracksRegLiveness: true
liveins:
  - { reg: '$x11', virtual-reg: '' }
  - { reg: '$x12', virtual-reg: '' }
body:             |
  bb.0:
    liveins: $x11, $x12
    renamable $x15 = ADRP target-flags(aarch64-page) @rrdpb
    STRXui renamable $x12, killed renamable $x11, 1 :: (store (s64))
    renamable $x11 = ADDXri killed renamable $x15, target-flags(aarch64-pageoff, aarch64-nc) @rrdpb, 0
    STRXui renamable $x11, killed renamable $x11, 0
    RET undef $lr

...

---
name:            test_no_use_between
alignment:       4
tracksRegLiveness: true
liveins:
  - { reg: '$x11', virtual-reg: '' }
  - { reg: '$x12', virtual-reg: '' }
body:             |
  bb.0:
    liveins: $x11, $x12
    STRXui renamable $x12, killed renamable $x11, 1 :: (store (s64))
    renamable $x15 = ADRP target-flags(aarch64-page) @rrdpb
    renamable $x11 = ADDXri killed renamable $x15, target-flags(aarch64-pageoff, aarch64-nc) @rrdpb, 0
    STRXui renamable $x11, killed renamable $x11, 0
    RET undef $lr

...
