Integrated: 8350563: C2 compilation fails because PhaseCCP does not reach a fixpoint
Liam Miller-Cushon
cushon at openjdk.org
Wed Apr 9 20:23:36 UTC 2025
On Mon, 3 Mar 2025 18:45:52 GMT, Liam Miller-Cushon <cushon at openjdk.org> wrote:
> Hello, please consider this fix for [JDK-8350563](https://bugs.openjdk.org/browse/JDK-8350563) contributed by my colleague Matthias Ernst.
>
> https://github.com/openjdk/jdk/pull/22856 introduced a new `Value()` optimization for the pattern `AndIL(Con, Mask)`.
> This optimization can look through CastNodes, and therefore requires additional logic in CCP to push these
> transitive uses to the worklist.
>
> The optimization is closely related to analogous optimizations for SHIFT nodes, and we also extend the existing logic for
> CCP worklist handling: the current logic is "if the shift input to a SHIFT node changes, push indirect AND node uses to the CCP worklist".
> We extend it by adding "if the (new) type of a node is an IntegerType that `is_con, ...` to the predicate.
This pull request has now been integrated.
Changeset: 4954a336
Author: Liam Miller-Cushon <cushon at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/4954a336f88865a4c9b269ed2c152658275e9221
Stats: 77 lines in 3 files changed: 70 ins; 1 del; 6 mod
8350563: C2 compilation fails because PhaseCCP does not reach a fixpoint
Co-authored-by: Matthias Ernst <mernst at google.com>
Reviewed-by: chagedorn, epeter
-------------
PR: https://git.openjdk.org/jdk/pull/23871
More information about the hotspot-compiler-dev
mailing list