1; REQUIRES: asserts 2 3; RUN: llc < %s -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \ 4; RUN: -stop-after=postmisched -debug-only=machine-scheduler 2>&1 >/dev/null | FileCheck %s 5 6define void @pr47155() { 7; CHECK: *** Final schedule for %bb.0 *** 8; CHECK: ********** MI Scheduling ********** 9; CHECK-NEXT: pr47155:%bb.0 entry 10; CHECK: SU(0): INLINEASM &"mtlr 31"{{.*}}implicit-def early-clobber $lr 11; CHECK: Successors: 12; CHECK-NEXT: SU(1): Out Latency=0 13; CHECK-NEXT: SU(1): Ord Latency=0 Barrier 14; CHECK-NEXT: SU(1): INLINEASM &"mtlr 31"{{.*}}implicit-def early-clobber $lr8 15; CHECK: Predecessors: 16; CHECK-NEXT: SU(0): Out Latency=0 17; CHECK-NEXT: SU(0): Ord Latency=0 Barrier 18; CHECK-NEXT: ExitSU: 19entry: 20 call void asm sideeffect "mtlr 31", "~{lr}"() 21 call void asm sideeffect "mtlr 31", "~{lr8}"() 22 ret void 23} 24 25define void @pr47156(ptr %fn) { 26; CHECK: *** Final schedule for %bb.0 *** 27; CHECK: ********** MI Scheduling ********** 28; CHECK-NEXT: pr47156:%bb.0 entry 29; CHECK: SU(0): INLINEASM &"mtctr 31"{{.*}}implicit-def early-clobber $ctr 30; CHECK: Successors: 31; CHECK-NEXT: SU(1): Out Latency=0 32; CHECK-NEXT: SU(1): MTCTR8 renamable $x3, implicit-def $ctr8 33; CHECK: Predecessors: 34; CHECK-NEXT: SU(0): Out Latency=0 35; CHECK-NEXT: Successors: 36; CHECK-NEXT: ExitSU: 37; CHECK-NEXT: SU(2): 38entry: 39 call void asm sideeffect "mtctr 31", "~{ctr}"() 40 tail call void %fn() 41 ret void 42} 43 44