RFR: 8350756: C2 SuperWord Multiversioning: remove useless slow loop when the fast loop disappears [v4]

Emanuel Peter epeter at openjdk.org
Tue Mar 4 13:45:51 UTC 2025


On Tue, 4 Mar 2025 10:55:10 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

>> I don't think that the input of an `IfTrue` is anything else than an `IfNode` (or a subclass) while being outside of IGVN. Otherwise, the graph is broken. Moreover, if we decide to call this method from IGVN at some point, we face another problem that predicate iteration is not safe during IGVN - and we probably do not want to make it safe if there is not a very strong reason for it.
>
> Unrelated thought: Would be great if we've had a flag "IGVN in progress" or something like that in `Compile` on which we can assert to make sure that methods, from which we know are not safe during IGVN, are not called during IGVN at some point by mistake. More often than not, we will only find out about that in some rare edge case where things are top at some unanticipated locations. The assert can be removed again once a method is required to be called from IGVN and is made safe (or we find that it was safe to begin with).

Fine, I'll just remove the line :)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23865#discussion_r1979453631


More information about the hotspot-compiler-dev mailing list