1 2 ; RUN: llc < %s | FileCheck %s -check-prefix=NOIPRA 3 ; RUN: llc -enable-ipra < %s | FileCheck %s 4 5 6 target triple = "x86_64-unknown-unknown" 7 define void @bar1() { 8 ret void 9 } 10 define preserve_allcc void @foo()#0 { 11 ; Due to preserve_allcc foo() will save some registers at start of foo() 12 ; prefix NOIPRA will verify that. 13 ; NOIPRA-LABEL: foo: 14 ; NOIPRA: pushq %r10 15 ; NOIPRA-NEXT: pushq %r9 16 ; NOIPRA-NEXT: pushq %r8 17 ; NOIPRA: callq bar1 18 ; When IPRA is present above registers will not be saved and that is verified 19 ; by prefix CHECK. 20 ; CHECK: foo: 21 ; CHECK-NOT: pushq %r10 22 ; CHECK-NOT: pushq %r9 23 ; CHECK-NOT: pushq %r8 24 ; CHECK: callq bar1 25 call void @bar1() 26 call void @bar2() 27 ret void 28 } 29 define void @bar2() { 30 ret void 31 } 32 attributes #0 = {nounwind} 33