RFR: 8302652: [SuperWord] Reduction should happen after loop, when possible [v4]
Emanuel Peter
epeter at openjdk.org
Wed May 10 11:45:43 UTC 2023
On Wed, 10 May 2023 08:03:57 GMT, Pengfei Li <pli at openjdk.org> wrote:
>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>>
>> small bugfix. And put TraceNewVector in VectorNode::trace_new_vector
>
> src/hotspot/share/opto/loopnode.cpp line 4636:
>
>> 4634: for (LoopTreeIterator iter(_ltree_root); !iter.done(); iter.next()) {
>> 4635: IdealLoopTree* lpt = iter.current();
>> 4636: if (lpt->_head->is_CountedLoop()) {
>
> Using `lpt->is_counted()`? And how about adding one more condition of `lpt->is_innermost()` in this `if`? As all loops in the IdealLoopTree are iterated here but only reduction operations in innermost loops may be vectorized by current Superword, we don't need to run into your `move_unordered_reduction_out_of_loop()` function for further analysis if a loop is not innermost.
Thanks for the suggestion, I changed it :)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13056#discussion_r1189781256
More information about the hotspot-compiler-dev
mailing list