RFR: 8350864: C2: verify structural invariants of the Ideal graph [v5]

Emanuel Peter epeter at openjdk.org
Tue Sep 9 08:18:03 UTC 2025


On Tue, 9 Sep 2025 07:58:45 GMT, Marc Chevalier <mchevalier at openjdk.org> wrote:

>> I just saw that you do the `OuterStripMinedLoop` below. But to capture the parallel structure it may still be good. And to capture possible future extension.
>
> I don't understand.

I would still consider adding `OuterStripMinedLoop` here, to capture that it has a similar structure. Even if you also verify below specific things for `OuterStripMinedLoop`. Just to check that all these loop structures have the same kind of backedge shape.
And then make a switch out of it, with a default case that fails. In case we add yet another `Loop` shape, we would then catch that and add the logic for it.

But actually: do not all `Loop` shapes have this backedge pattern? Or are there some that have a `IfFalse` on the backedge? Because then you could also add `LoopNode` with `LoopEndNode`.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26362#discussion_r2332447521


More information about the hotspot-compiler-dev mailing list