RFR: 8361144: Strenghten the Ideal Verification in PhaseIterGVN::verify_Ideal_for by comparing the hash of a node before and after Ideal
Benoît Maillard
bmaillard at openjdk.org
Tue Jul 1 12:00:18 UTC 2025
This PR adds a node hash comparison after calling `Ideal` in `PhaseIterGVN::verify_Ideal_for` to introduce an additional layer of verification for missed optimizations. Previously, we relied on the return value of `Ideal`, which is expected to be `nullptr` if no transformation was done.
By also checking the node's hash before and after `Ideal`, we could catch inconsistencies in the implementation or unintended modifications to the graph. Both of these may indicate missed or incomplete optimizations.
### Testing
- [x] [GitHub Actions](https://github.com/benoitmaillard/jdk/actions?query=branch%3AJDK-8361144)
- [x] tier1-3, plus some internal testing
Thank you for reviewing!
-------------
Commit messages:
- 8361144: remove unintentional line break
- 8361144: move hash check after return value check and use same format as unique counter check
- 8361144: add check for node hash after verifying ideal
Changes: https://git.openjdk.org/jdk/pull/26064/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26064&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8361144
Stats: 11 lines in 1 file changed: 10 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/26064.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26064/head:pull/26064
PR: https://git.openjdk.org/jdk/pull/26064
More information about the hotspot-compiler-dev
mailing list