Use Align for TFL::TransientStackAlignment
[llvm-core.git] / test / CodeGen / X86 / ipra-transform.ll
blob362af8812346651fe0e56f00eba5e4a1c7e776ca
2 ; RUN: llc < %s | FileCheck %s -check-prefix=NOIPRA
3 ; RUN: llc -enable-ipra < %s | FileCheck %s
6 target triple = "x86_64-unknown-unknown"
7 define void @bar1() {
8         ret void
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
29 define void @bar2() {
30         ret void
32 attributes #0 = {nounwind}