RFR: 8325541: C2 SuperWord: refactor filter / split [v6]

Vladimir Kozlov kvn at openjdk.org
Mon Feb 12 18:10:56 UTC 2024


On Mon, 12 Feb 2024 16:44:18 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> A few filter / split methods are currently bunched together. We should peal them apart so that moving / changing things becomes easier in the future.
>> 
>> 
>> combine_packs -> refactored into:
>>   combine_packs (now really only combines)
>>   split_packs_for_max_vector_size
>>   filter_packs_for_power_of_2_size
>>   filter_packs_for_mutual_independence
>> 
>> filter_packs -> refactored into:
>>   filter_packs_for_implemented
>>   filter_packs_for_profitable
>> 
>> 
>> Since we have so many "filter" passes, I created a dedicated `SuperWord::filter_packs` method, that takes a `FilterPredicate` lambda. This also allows me now to systematically debug dump any packs that are rejected .
>> 
>> I also took the liberty to enforce a new invariant between passes: there cannot be any `nullptr` in the packlist.
>> Before the "filter" passes just set some packs to `nullptr`. I now shift all surviving packs down, and truncate the packlist.
>
> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Updates for Christian

Good.

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

Marked as reviewed by kvn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/17785#pullrequestreview-1875877040


More information about the hotspot-compiler-dev mailing list