Integrated: 8305637: Remove Opaque1 nodes for Parse Predicates and clean up useless predicate elimination

Christian Hagedorn chagedorn at openjdk.org
Tue Sep 5 12:48:55 UTC 2023


On Mon, 28 Aug 2023 14:38:34 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

> This is the last clean-up PR before the complete fix for Assertion Predicates ([JDK-8288981](https://bugs.openjdk.org/browse/JDK-8288981)). 
> 
> This patch includes:
> - Removal of `ConI`->`Opaque1`->`Conv2B` input nodes for `ParsePredicateNodes` with the following additional changes:
>   - Adjusting `ParsePredicateNode` to block unwanted optimizations (added empty `ParsePredicateNode::Ideal()`).
>   - Changing `Compile::_parse_predicate_opaqs` to not store `Opaque1Nodes` to keep track of Parse Predicates but instead storing `ParsePredicateNodes` directly. Renamed to `Compile::_parse_predicates` and adjusted related methods.
>   - Removed asserts matching `Opaque1` -> `Conv2B` shape.
> - Cleaning up `eliminate_useless_predicates()`:
>   - Adjust code to find useful/useless Parse Predicates with the new `Compile::_parse_predicates` list with `ParsePredicateNodes` instead of `Opaque1Nodes`.
>   - Changing `ParsePredicateNode` to carry a `_useless` state which simplifies the elimination of useless predicates with `eliminate_useless_predicates()` and during IGVN (added `ParsePredicateNode::Value()` for that which also removes the predicate once we are in post loop opts IGVN). 
> - Some refactoring/clean-ups of involved code.
>   
> Testing: tier1-7 + some fuzzer testing
> 
> Thanks,
> Christian

This pull request has now been integrated.

Changeset: 4b445753
Author:    Christian Hagedorn <chagedorn at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/4b445753e6f4683f4c638fdbd1b2823a3bbacef2
Stats:     427 lines in 16 files changed: 170 ins; 84 del; 173 mod

8305637: Remove Opaque1 nodes for Parse Predicates and clean up useless predicate elimination

Reviewed-by: roland, kvn

-------------

PR: https://git.openjdk.org/jdk/pull/15449


More information about the hotspot-compiler-dev mailing list