RFR: 8302652: [SuperWord] Reduction should happen after loop, when possible

Emanuel Peter epeter at openjdk.org
Fri May 5 07:39:38 UTC 2023


On Wed, 22 Mar 2023 09:03:28 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> src/hotspot/share/opto/vectornode.cpp line 1348:
>> 
>>> 1346:         in1 != nullptr && in1->is_Phi() && in1->in(2) == this && in1->outcnt() == 1 &&
>>> 1347:         in1->in(0)->is_CountedLoop() &&
>>> 1348:         in2->is_Vector()) {
>> 
>> Should you also check that this reduction node doesn't have users inside loop?
>
> @vnkozlov How should I do that? Can that even be done during IGVN? Or should I move the implementation to loopopts?

For example, I could put it before or after `try_sink_out_of_loop` inside `PhaseIdealLoop::split_if_with_blocks_post`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13056#discussion_r1144654995


More information about the hotspot-compiler-dev mailing list