Move generic MIR tests in their own subdir, requires "native" as well
[oota-llvm.git] / test / CodeGen / MIR / Generic / frame-info.mir
1 # 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 ---
25 name:            test
26 isSSA:           true
27 tracksRegLiveness: 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
45 frameInfo:
46   maxAlignment:    4
47 body:
48   - id:          0
49     name:        entry
50 ...
51 ---
52 name:            test2
53 isSSA:           true
54 tracksRegLiveness: 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
73 frameInfo:
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
87 body:
88   - id:          0
89     name:        entry
90 ...
91