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.