Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #234 +/- ##
==========================================
+ Coverage 56.17% 56.50% +0.32%
==========================================
Files 28 28
Lines 2848 2869 +21
==========================================
+ Hits 1600 1621 +21
Misses 1248 1248 ☔ View full report in Codecov by Sentry. |
topolarity
left a comment
There was a problem hiding this comment.
LGTM
The only thing that construct_ssa! inspects in the OptimizationState are the function- and block- level slot types (slottypes and bb_vartables, respectively)
src/stage1/recurse.jl
Outdated
| @@ -276,7 +276,13 @@ function optic_transform!(ci, mi, nargs, N) | |||
| stmts = VERSION < v"1.11.0-DEV.258" ? ir.stmts.inst : ir.stmts.stmt | |||
There was a problem hiding this comment.
FWIW in the typical pipeline convert_to_ircode is used to convert CodeInfo-style statements to IRCode, but that's skipped here.
Most of the function is a no-op if you have no (informative) results from inference but there is some normalization (e.g. strip_trailing_junk!) that might be needed here for certain IR.
None of that is new in this PR though, so we can worry about it later.
|
@topolarity any ideas why this would make it hang? |
|
Not sure, but here's a reduced MWE at least: using Diffractor
function times_three_while(x)
z = x
i = 3
while i > 1
z += x
i -= 1
end
z
end
let var"'" = Diffractor.PrimeDerivativeBack
println(times_three_while'(1.0) == 3.0)
endThe IR that Diffractor generates is identical on latest Julia versus |
|
I guess since the IR is identical, we could consider merging this. |
Particularily the update for `CC.finish!` is essential.
|
Going to merge as the 1.10 CI passes. |
This is an update to make things work after JuliaLang/julia#50943
Right now however it seems to makes tests hang