RFR: 8287087: C2: perform SLP reduction analysis on-demand

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Fri Mar 24 10:51:36 UTC 2023


On Thu, 23 Mar 2023 10:13:12 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Thanks for the suggestion! I prefer to keep `LoopMaxUnroll` as a bound, to guard against pathologically large basic blocks, even if it implies missing some hand-unrolled loops.
>
> Up to you. The loop body size is limited by `LoopUnrollLimit`, which is currently set to 50 or 60, depending on the platform. So we do not unroll too much to prevent pathologically large loop bodies. That is actually why most SuperWord tests have to increase `LoopUnrollLimit` - otherwise we would not even vectorize those cases.

Good point. I will test using the loop body size as a bound for superword reduction analysis, but leave the tighter `LoopMaxUnroll` bound for selecting floating-point min/max implementations, which is more time sensitive.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13120#discussion_r1147413537


More information about the hotspot-compiler-dev mailing list