blob: c5468f94f33a6ac9b701839bbe87a68e64c0e47f [file] [log] [blame]
Alex Lorenz60541c12015-07-09 19:55:27 +00001# RUN: llc -start-after machine-sink -stop-after machine-sink -o /dev/null %s | FileCheck %s
2# This test ensures that the MIR parser parses machine frame info properties
3# correctly.
4
5--- |
6
7 define i32 @test(i32 %a) {
8 entry:
9 %b = alloca i32
10 store i32 %a, i32* %b
11 %c = load i32, i32* %b
12 ret i32 %c
13 }
14
15 define i32 @test2(i32 %a) {
16 entry:
17 %b = alloca i32
18 store i32 %a, i32* %b
19 %c = load i32, i32* %b
20 ret i32 %c
21 }
22
23...
24---
25name: test
26isSSA: true
27tracksRegLiveness: true
28
29# CHECK: frameInfo:
30# CHECK-NEXT: isFrameAddressTaken: false
31# CHECK-NEXT: isReturnAddressTaken: false
32# CHECK-NEXT: hasStackMap: false
33# CHECK-NEXT: hasPatchPoint: false
34# CHECK-NEXT: stackSize: 0
35# CHECK-NEXT: offsetAdjustment: 0
36# Note: max alignment can be target specific when printed.
37# CHECK-NEXT: maxAlignment:
38# CHECK-NEXT: adjustsStack: false
39# CHECK-NEXT: hasCalls: false
40# CHECK-NEXT: maxCallFrameSize: 0
41# CHECK-NEXT: hasOpaqueSPAdjustment: false
42# CHECK-NEXT: hasVAStart: false
43# CHECK-NEXT: hasMustTailInVarArgFunc: false
44# CHECK: body
45frameInfo:
46 maxAlignment: 4
47body:
48 - id: 0
49 name: entry
50...
51---
52name: test2
53isSSA: true
54tracksRegLiveness: true
55
56# CHECK: test2
57# CHECK: frameInfo:
58# CHECK-NEXT: isFrameAddressTaken: true
59# CHECK-NEXT: isReturnAddressTaken: true
60# CHECK-NEXT: hasStackMap: true
61# CHECK-NEXT: hasPatchPoint: true
62# CHECK-NEXT: stackSize: 4
63# CHECK-NEXT: offsetAdjustment: 4
64# Note: max alignment can be target specific when printed.
65# CHECK-NEXT: maxAlignment:
66# CHECK-NEXT: adjustsStack: true
67# CHECK-NEXT: hasCalls: true
68# CHECK-NEXT: maxCallFrameSize: 4
69# CHECK-NEXT: hasOpaqueSPAdjustment: true
70# CHECK-NEXT: hasVAStart: true
71# CHECK-NEXT: hasMustTailInVarArgFunc: true
72# CHECK: body
73frameInfo:
74 isFrameAddressTaken: true
75 isReturnAddressTaken: true
76 hasStackMap: true
77 hasPatchPoint: true
78 stackSize: 4
79 offsetAdjustment: 4
80 maxAlignment: 4
81 adjustsStack: true
82 hasCalls: true
83 maxCallFrameSize: 4
84 hasOpaqueSPAdjustment: true
85 hasVAStart: true
86 hasMustTailInVarArgFunc: true
87body:
88 - id: 0
89 name: entry
90...
91