On Wed, 25 Feb 2026 13:30:17 GMT, Tobias Hartmann <[email protected]> wrote:
>> Quan Anh Mai has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Collateral damage
>
> test/hotspot/jtreg/compiler/c2/irTests/ProfileAtTypeCheck.java line 242:
>
>> 240: @IR(phase = { CompilePhase.AFTER_PARSING }, counts = {
>> IRNode.SUBTYPE_CHECK, "2" })
>> 241: // TODO 8375442: Should be folded as early as ITER_GVN1
>> 242: @IR(phase = { CompilePhase.BEFORE_MACRO_EXPANSION }, counts = {
>> IRNode.SUBTYPE_CHECK, "1" })
>
> Why is this needed?
It is because originally, the 2 `If`s are too far from each other for
`IfNode::Ideal` to fold. This PR induces a random change in the IGVN order
which prevents the dominated `If` from being enqueued and folded in the first
IGVN invocation. As a result, it is only processed later.
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2163#discussion_r2853096138