julia
d71441b5 - inference: follow up #54323, override ssaflags with new cycle effects (#54689)

Commit
1 year ago
inference: follow up #54323, override ssaflags with new cycle effects (#54689) JuliaLang/julia#54323 ensures that all frames within a cycle have the same, cycle valid effects. However, `src.ssaflags` is calculated using partial effects, so when the effects of a `frame` within the cycle are updated, there would be an inconsistency between `frame.ipo_effects` and `frame.src.ssaflags`. Due to this inconsistency, JuliaLang/julia#54323 breaks the test cases from JuliaLang/julia#51092, when backported to v1.11. On the surface this is because JuliaLang/julia#52999 hasn't been backported to v1.11, but the fundamental issue lies in this inconsistency between cycle effects and `ssaflags`. To resolve this issue, this commit traverses `cycle_backedges` to visit statements involved in the cycle, and updates each `ssaflags` according to new cycle valid effects if necessary.
Author
Parents
Loading