File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
test/compiler/EscapeAnalysis Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -182,6 +182,12 @@ function ((; escape_cache)::GetEscapeCache)(mi::MethodInstance)
182
182
return cached === nothing ? nothing : cached. argescapes
183
183
end
184
184
185
+ struct FailedAnalysis
186
+ ir:: IRCode
187
+ nargs:: Int
188
+ get_escape_cache:: GetEscapeCache
189
+ end
190
+
185
191
function run_passes_ipo_safe_with_ea (interp:: EscapeAnalyzer ,
186
192
ci:: CodeInfo , sv:: OptimizationState , caller:: InferenceResult )
187
193
@timeit " convert" ir = convert_to_ircode (ci, sv)
@@ -203,8 +209,8 @@ function run_passes_ipo_safe_with_ea(interp::EscapeAnalyzer,
203
209
try
204
210
@timeit " EA" estate = analyze_escapes (ir, nargs, get_escape_cache)
205
211
catch err
206
- @error " error happened within EA, inspect `Main.ir` and `Main.nargs `"
207
- @eval Main (ir = $ ir; nargs = $ nargs )
212
+ @error " error happened within EA, inspect `Main.failed_escapeanalysis `"
213
+ @eval Main failed_escapeanalysis = $ ( FailedAnalysis (ir, nargs, get_escape_cache) )
208
214
rethrow (err)
209
215
end
210
216
if caller. linfo. specTypes === interp. entry_tt
You can’t perform that action at this time.
0 commit comments