RFR: 8373134: C2: Min/Max users of Min/Max uses should be enqueued for GVN [v9]
Galder Zamarreño
galder at openjdk.org
Tue Jan 13 05:07:53 UTC 2026
On Mon, 12 Jan 2026 09:01:44 GMT, Galder Zamarreño <galder at openjdk.org> wrote:
>> Min/Max users of Min/Max uses need to be enqueued respectively to the GVN worklist to see if further optimizations can be applied. Without this, there are cases where additional potential ideal/identity optimizations are not applied. I need this fix to test min/max reassociation implementation with IR tests reliably.
>>
>> Aside from the fix itself, I've refactored `MaxNode` to `MinMaxNode` and added a `is_MinMax` node query to simplify the fix.
>>
>> I have also removed the Min/Max exceptions in `PhaseIterGVN::verify_Identity_for` since this fix fixes `compiler/codegen/TestBooleanVect.java` with `-XX:VerifyIterativeGVN=1110`.
>>
>> To test this I've created a template framework test that validates the fix. I have tested with all Min/Max combinations including Float16, which I've verified with Intel SDE. Float16 does not use `Argument.NUMBER_42` because there's no support for it yet, see [JDK-8373977](https://bugs.openjdk.org/browse/JDK-8373977).
>>
>> During development I noticed that the test only failed when the test had `b, a` parameters in that order, so I added tests for both cases as `a, b` and `b, a` so that all possible orders are covered and they don't slip in the future.
>>
>> I've run tier1-3 tests on linux/x64 successfully.
>
> Galder Zamarreño has updated the pull request incrementally with one additional commit since the last revision:
>
> Revert "Remove exclude or Min/Max in verify identity"
>
> This reverts commit cf24abad55db9a320930379c4f0f3154791d26e2.
The CI failed with an infrastructure issue when building mac debug build. Can someone move this PR forward?
The hosted runner lost communication with the server. Anything in your workflow that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28895#issuecomment-3741959506
More information about the hotspot-compiler-dev
mailing list