1# RUN: llc -o - %s -mtriple=aarch64-apple-ios -run-pass=aarch64-collect-loh -debug-only=aarch64-collect-loh 2>&1 | FileCheck %s 2# REQUIRES: asserts 3--- | 4 @rrdpb = local_unnamed_addr global i32 zeroinitializer, align 8 5 6 define internal void @test_use_between() { 7 ret void 8 } 9 define internal void @test_no_use_between() { 10 ret void 11 } 12 13... 14# CHECK-LABEL: ********** AArch64 Collect LOH ********** 15# CHECK-LABEL: Looking in function test_use_between 16# Check that we don't have an AdrpAdd LOH because there's a use of the ADD defreg 17# in between the two. 18# CHECK-NOT: MCLOH_AdrpAdd 19 20# CHECK-LABEL: Looking in function test_no_use_between 21# CHECK: MCLOH_AdrpAdd 22--- 23name: test_use_between 24alignment: 4 25tracksRegLiveness: true 26liveins: 27 - { reg: '$x11', virtual-reg: '' } 28 - { reg: '$x12', virtual-reg: '' } 29body: | 30 bb.0: 31 liveins: $x11, $x12 32 renamable $x15 = ADRP target-flags(aarch64-page) @rrdpb 33 STRXui renamable $x12, killed renamable $x11, 1 :: (store 8) 34 renamable $x11 = ADDXri killed renamable $x15, target-flags(aarch64-pageoff, aarch64-nc) @rrdpb, 0 35 STRXui renamable $x11, killed renamable $x11, 0 36 RET undef $lr 37 38... 39 40--- 41name: test_no_use_between 42alignment: 4 43tracksRegLiveness: true 44liveins: 45 - { reg: '$x11', virtual-reg: '' } 46 - { reg: '$x12', virtual-reg: '' } 47body: | 48 bb.0: 49 liveins: $x11, $x12 50 STRXui renamable $x12, killed renamable $x11, 1 :: (store 8) 51 renamable $x15 = ADRP target-flags(aarch64-page) @rrdpb 52 renamable $x11 = ADDXri killed renamable $x15, target-flags(aarch64-pageoff, aarch64-nc) @rrdpb, 0 53 STRXui renamable $x11, killed renamable $x11, 0 54 RET undef $lr 55 56... 57