RFR: 8333366: C2: CmpU3Nodes are not pushed back to worklist in PhaseCCP leading to non-fixpoint assertion failure
Christian Hagedorn
chagedorn at openjdk.org
Fri May 31 17:39:27 UTC 2024
The current code to push uses back to the worklist during CCP handles `CmpU` nodes but misses `CmpU3` nodes. This leads to an assertion failure that we have not reached a fixpoint.
The fix is straight forward to add a case for `CmpU3` at the case where we already handle `CmpU` nodes such that they can be added back to the worklist like `CmpU` nodes during CCP.
This was found during the analysis of [JDK-8332920](https://bugs.openjdk.org/browse/JDK-8332920) by trying to simplify the regression test (thanks to @TobiHartmann!). To properly add regression tests for JDK-8332920 and avoid hitting this bug here with some flag combination, we should fix this first. I will soon propose a PR for JDK-8332920 as well.
Thanks,
Christian
-------------
Commit messages:
- 8333366: C2: CmpU3Nodes are not pushed back to worklist in PhaseCCP leading to non-fixpoint assertion failure
Changes: https://git.openjdk.org/jdk/pull/19504/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19504&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8333366
Stats: 53 lines in 2 files changed: 51 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/19504.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19504/head:pull/19504
PR: https://git.openjdk.org/jdk/pull/19504
More information about the hotspot-compiler-dev
mailing list