RFR: 8350563: C2 compilation fails because PhaseCCP does not reach a fixpoint [v3]
Liam Miller-Cushon
cushon at openjdk.org
Wed Mar 12 16:03:42 UTC 2025
> 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.
Liam Miller-Cushon has updated the pull request incrementally with one additional commit since the last revision:
Update test/hotspot/jtreg/compiler/c2/TestAndConZeroCCP.java
Co-authored-by: Emanuel Peter <emanuel.peter at oracle.com>
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23871/files
- new: https://git.openjdk.org/jdk/pull/23871/files/a1d7826a..60ccd522
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23871&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23871&range=01-02
Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/23871.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23871/head:pull/23871
PR: https://git.openjdk.org/jdk/pull/23871
More information about the hotspot-compiler-dev
mailing list