1# RUN: llc -mtriple=aarch64-apple-darwin -run-pass=machine-outliner -verify-machineinstrs %s -o - | FileCheck %s 2# In bb.4, we save + restore LR using a register. We need LR to be live-in to 3# the block to prevent MachineVerifier errors. 4 5name: lr_not_live_in 6tracksRegLiveness: true 7fixedStack: 8machineFunctionInfo: 9 hasRedZone: false 10body: | 11 bb.0: 12 $x9 = ORRXri $xzr, 1 13 bb.1: 14 liveins: $w9 15 $w9 = ORRWri $wzr, 1 16 $w9 = ORRWri $wzr, 1 17 $w9 = ORRWri $wzr, 1 18 $w9 = ORRWri $wzr, 1 19 $w9 = ORRWri $wzr, 1 20 $w9 = ORRWri $wzr, 2 21 bb.2: 22 liveins: $w9 23 $w9 = ORRWri $wzr, 1 24 $w9 = ORRWri $wzr, 1 25 $w9 = ORRWri $wzr, 1 26 $w9 = ORRWri $wzr, 1 27 $w9 = ORRWri $wzr, 1 28 $w9 = ORRWri $wzr, 2 29 bb.3: 30 liveins: $w9 31 $w9 = ORRWri $wzr, 1 32 $w9 = ORRWri $wzr, 1 33 $w9 = ORRWri $wzr, 1 34 $w9 = ORRWri $wzr, 1 35 $w9 = ORRWri $wzr, 1 36 $w9 = ORRWri $wzr, 2 37 bb.4: 38 liveins: $w9 39 ; CHECK-LABEL: bb.4 40 ; CHECK: liveins: $w9, $lr 41 ; CHECK: BL 42 $w9 = ORRWri $wzr, 1 43 $w9 = ORRWri $wzr, 1 44 $w9 = ORRWri $wzr, 1 45 $w9 = ORRWri $wzr, 1 46 $w9 = ORRWri $wzr, 1 47 $w9 = ORRWri $wzr, 2 48 bb.5: 49 liveins: $w9, $lr 50 RET undef $lr 51