RFR: 8308892: Bad graph detected in build_loop_late after JDK-8305635
Christian Hagedorn
chagedorn at openjdk.org
Tue May 30 08:19:58 UTC 2023
On Tue, 30 May 2023 07:22:01 GMT, Roland Westrelin <roland at openjdk.org> wrote:
> > The cleanup done in [JDK-8305635](https://bugs.openjdk.org/browse/JDK-8305635) wrongly identifies unrelated Parse Predicates which are not cleaned up, yet.
>
> So which of the 3 predicates will get cleaned up? Are some of the 3 predicates for another loop that doesn't exist anymore?
Sorry, the explanation of the bug was not precise enough - there is a missing piece: It should have cleaned up `84 Parse Predicate` and `71 Parse Predicate` in `eliminate_useless_predicates()` but it does not because we also use the broken `ParsePredicates` class to collect them:
https://github.com/openjdk/jdk/blob/78aac241b8a3f29111e2901e8b7fbadd502a31a9/src/hotspot/share/opto/loopnode.cpp#L4072-L4093
So, we keep `116 Parse Predicate` and `84 Parse Predicate` as useful predicates while `71 Parse Predicate` is removed before Loop Predication.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14196#issuecomment-1567978589
More information about the hotspot-compiler-dev
mailing list