|
1 |
| -# RUN: llc -run-pass=mir-debugify,mir-check-debugify %s |
| 1 | +# RUN: llc -run-pass=mir-debugify,mir-check-debugify -o - %s 2>&1 | FileCheck %s |
2 | 2 |
|
3 |
| -# XFAIL: * |
| 3 | +# CHECK: Machine IR debug info check: PASS |
| 4 | +# CHECK-NOT: Assertion `Var <= NumVars && "Unexpected name for DILocalVariable"' |
4 | 5 |
|
5 | 6 | --- |
|
6 | 7 | define i32 @foo(i32 %a0, i32 %a1, i32 %a2, i32 %a3) {
|
|
20 | 21 | ...
|
21 | 22 | ---
|
22 | 23 | name: foo
|
23 |
| -alignment: 16 |
24 |
| -exposesReturnsTwice: false |
25 |
| -legalized: false |
26 |
| -regBankSelected: false |
27 |
| -selected: false |
28 |
| -failedISel: false |
29 |
| -tracksRegLiveness: true |
30 |
| -hasWinCFI: false |
31 |
| -callsEHReturn: false |
32 |
| -callsUnwindInit: false |
33 |
| -hasEHCatchret: false |
34 |
| -hasEHScopes: false |
35 |
| -hasEHFunclets: false |
36 |
| -failsVerification: false |
37 |
| -tracksDebugUserValues: false |
38 |
| -registers: |
39 |
| - - { id: 0, class: _, preferred-register: '' } |
40 |
| - - { id: 1, class: _, preferred-register: '' } |
41 |
| - - { id: 2, class: _, preferred-register: '' } |
42 |
| - - { id: 3, class: _, preferred-register: '' } |
43 |
| - - { id: 4, class: _, preferred-register: '' } |
44 |
| - - { id: 5, class: _, preferred-register: '' } |
45 |
| - - { id: 6, class: _, preferred-register: '' } |
46 |
| -liveins: |
47 |
| - - { reg: '$edi', virtual-reg: '' } |
48 |
| - - { reg: '$esi', virtual-reg: '' } |
49 |
| - - { reg: '$edx', virtual-reg: '' } |
50 |
| - - { reg: '$ecx', virtual-reg: '' } |
51 |
| -frameInfo: |
52 |
| - isFrameAddressTaken: false |
53 |
| - isReturnAddressTaken: false |
54 |
| - hasStackMap: false |
55 |
| - hasPatchPoint: false |
56 |
| - stackSize: 0 |
57 |
| - offsetAdjustment: 0 |
58 |
| - maxAlignment: 1 |
59 |
| - adjustsStack: false |
60 |
| - hasCalls: false |
61 |
| - stackProtector: '' |
62 |
| - functionContext: '' |
63 |
| - maxCallFrameSize: 4294967295 |
64 |
| - cvBytesOfCalleeSavedRegisters: 0 |
65 |
| - hasOpaqueSPAdjustment: false |
66 |
| - hasVAStart: false |
67 |
| - hasMustTailInVarArgFunc: false |
68 |
| - hasTailCall: false |
69 |
| - localFrameSize: 0 |
70 |
| - savePoint: '' |
71 |
| - restorePoint: '' |
72 |
| -fixedStack: [] |
73 |
| -stack: [] |
74 |
| -callSites: [] |
75 |
| -debugValueSubstitutions: [] |
76 |
| -constants: [] |
77 |
| -machineFunctionInfo: {} |
78 | 24 | body: |
|
79 | 25 | bb.1 (%ir-block.0):
|
80 |
| - liveins: $ecx, $edi, $edx, $esi |
81 |
| -
|
82 |
| - %0:_(s32) = COPY $edi |
83 |
| - %1:_(s32) = COPY $esi |
84 |
| - %2:_(s32) = COPY $edx |
85 |
| - %3:_(s32) = COPY $ecx |
| 26 | + %0:_(s32) = IMPLICIT_DEF |
| 27 | + %1:_(s32) = IMPLICIT_DEF |
| 28 | + %2:_(s32) = IMPLICIT_DEF |
| 29 | + %3:_(s32) = IMPLICIT_DEF |
86 | 30 | %4:_(s32) = G_ADD %0, %1
|
87 | 31 | %5:_(s32) = G_ADD %4, %2
|
88 | 32 | %6:_(s32) = G_ADD %5, %3
|
89 |
| - $eax = COPY %6(s32) |
90 |
| - RET 0, implicit $eax |
91 | 33 |
|
92 | 34 | ...
|
93 | 35 | ---
|
94 | 36 | name: bar
|
95 |
| -alignment: 16 |
96 |
| -exposesReturnsTwice: false |
97 |
| -legalized: false |
98 |
| -regBankSelected: false |
99 |
| -selected: false |
100 |
| -failedISel: false |
101 |
| -tracksRegLiveness: true |
102 |
| -hasWinCFI: false |
103 |
| -callsEHReturn: false |
104 |
| -callsUnwindInit: false |
105 |
| -hasEHCatchret: false |
106 |
| -hasEHScopes: false |
107 |
| -hasEHFunclets: false |
108 |
| -failsVerification: false |
109 |
| -tracksDebugUserValues: false |
110 |
| -registers: |
111 |
| - - { id: 0, class: _, preferred-register: '' } |
112 |
| - - { id: 1, class: _, preferred-register: '' } |
113 |
| - - { id: 2, class: _, preferred-register: '' } |
114 |
| - - { id: 3, class: _, preferred-register: '' } |
115 |
| - - { id: 4, class: _, preferred-register: '' } |
116 |
| - - { id: 5, class: _, preferred-register: '' } |
117 |
| - - { id: 6, class: _, preferred-register: '' } |
118 |
| -liveins: |
119 |
| - - { reg: '$edi', virtual-reg: '' } |
120 |
| - - { reg: '$esi', virtual-reg: '' } |
121 |
| - - { reg: '$edx', virtual-reg: '' } |
122 |
| - - { reg: '$ecx', virtual-reg: '' } |
123 |
| -frameInfo: |
124 |
| - isFrameAddressTaken: false |
125 |
| - isReturnAddressTaken: false |
126 |
| - hasStackMap: false |
127 |
| - hasPatchPoint: false |
128 |
| - stackSize: 0 |
129 |
| - offsetAdjustment: 0 |
130 |
| - maxAlignment: 1 |
131 |
| - adjustsStack: false |
132 |
| - hasCalls: false |
133 |
| - stackProtector: '' |
134 |
| - functionContext: '' |
135 |
| - maxCallFrameSize: 4294967295 |
136 |
| - cvBytesOfCalleeSavedRegisters: 0 |
137 |
| - hasOpaqueSPAdjustment: false |
138 |
| - hasVAStart: false |
139 |
| - hasMustTailInVarArgFunc: false |
140 |
| - hasTailCall: false |
141 |
| - localFrameSize: 0 |
142 |
| - savePoint: '' |
143 |
| - restorePoint: '' |
144 |
| -fixedStack: [] |
145 |
| -stack: [] |
146 |
| -callSites: [] |
147 |
| -debugValueSubstitutions: [] |
148 |
| -constants: [] |
149 |
| -machineFunctionInfo: {} |
150 | 37 | body: |
|
151 | 38 | bb.1 (%ir-block.0):
|
152 |
| - liveins: $ecx, $edi, $edx, $esi |
153 |
| -
|
154 |
| - %0:_(s32) = COPY $edi |
155 |
| - %1:_(s32) = COPY $esi |
156 |
| - %2:_(s32) = COPY $edx |
157 |
| - %3:_(s32) = COPY $ecx |
| 39 | + %0:_(s32) = IMPLICIT_DEF |
| 40 | + %1:_(s32) = IMPLICIT_DEF |
| 41 | + %2:_(s32) = IMPLICIT_DEF |
| 42 | + %3:_(s32) = IMPLICIT_DEF |
158 | 43 | %4:_(s32) = G_ADD %0, %1
|
159 | 44 | %5:_(s32) = G_ADD %2, %4
|
160 | 45 | %6:_(s32) = G_ADD %5, %3
|
161 |
| - $eax = COPY %6(s32) |
162 |
| - RET 0, implicit $eax |
163 | 46 |
|
164 | 47 | ...
|
0 commit comments