RFR: 8342692: C2: long counted loop/long range checks: don't create loop-nest for short running loops [v20]

Christian Hagedorn chagedorn at openjdk.org
Wed May 21 08:43:00 UTC 2025


On Thu, 15 May 2025 15:25:16 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> src/hotspot/share/opto/loopnode.cpp line 1225:
>> 
>>> 1223:     // Predicate). The current limit could, itself, be dependent on an existing predicate. Clone parse and template
>>> 1224:     // assertion predicates below existing predicates to get proper ordering of predicates when walking from the loop
>>> 1225:     // up: future predicates, Short Running Long Loop Predicate, existing predicates.
>> 
>> Maybe you missed the visualization I've added in a comment for an earlier commit. I would find it quite useful to quickly grasp the idea, what do you think?
>> 
>> 
>> //
>> //        Existing Hoisted 
>> //        Check Predicates  
>> //              |         
>> //     New Short Running Long        
>> //         Loop Predicate
>> //              |
>> //   Cloned Parse Predicates and 
>> //  Template Assertion Predicates        
>> //              |
>> //             Loop
>
> I must have missed it. Sorry about that.

No worries! Thanks for adding it

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21630#discussion_r2099718602


More information about the hotspot-compiler-dev mailing list