RFR: 8305636: Expand and clean up predicate classes and move them into separate files [v2]
Christian Hagedorn
chagedorn at openjdk.org
Thu Jul 27 15:43:55 UTC 2023
On Thu, 27 Jul 2023 10:49:48 GMT, Roland Westrelin <roland at openjdk.org> wrote:
>> Christian Hagedorn has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - Update src/hotspot/share/opto/predicates.hpp
>>
>> Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>
>> - Renaming Hoisted Predicate -> Hoisted Check Predicate in description and comments as discussed offline with Tobias, fixing additional typos in description
>
> src/hotspot/share/opto/loopPredicate.cpp line 324:
>
>> 322: }
>> 323: register_control(new_iff, lp, entry);
>> 324: IfProjNode* if_cont;
>
> Why is it ok to remove that code?
Thanks Roland for your review!
I think it is okay because when I [originally introduced](https://github.com/openjdk/jdk/commit/a51dd58f388bb04851961dc5265291f01be422b8#diff-57d27180e9c833e88433025fd97a49467aed4a5d6e1867f86622dcffa47e951aL147-L149) the parameter `if_cont_is_true_proj`, I've copied all range checks to the unswitched loop (including hoisted check predicates for range checks). Later, this was [corrected](https://github.com/openjdk/jdk/commit/3fe5886b#diff-57d27180e9c833e88433025fd97a49467aed4a5d6e1867f86622dcffa47e951aL252) to only clone the template assertion predicates which always have a true projection as success projection. The only other case where we use `create_new_if_for_predicate` is with parse predicates which also only have a true projection as success projection. I therefore cleaned this up here.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14814#discussion_r1276474591
More information about the hotspot-compiler-dev
mailing list