[PATCH] D136806: [Pipelines] Introduce SROA after (full) loop unrolling

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 29 11:08:25 PDT 2022


lebedev.ri added a comment.

Some stats:

- `-unroll-max-iteration-count-to-analyze=16`: https://llvm-compile-time-tracker.com/compare.php?from=adf3daae1c10b46de4017d7ab0110c215c1b9981&to=c841575647945a1cdb726588849b9506825e1202&stat=instructions:u
- `-unroll-max-iteration-count-to-analyze=32`: https://llvm-compile-time-tracker.com/compare.php?from=adf3daae1c10b46de4017d7ab0110c215c1b9981&to=d94a21d011e2591b773ac65e26817871d3639db5&stat=instructions:u
- `-unroll-max-iteration-count-to-analyze=64`: https://llvm-compile-time-tracker.com/compare.php?from=adf3daae1c10b46de4017d7ab0110c215c1b9981&to=1a69385c5390e74ee6db233bb2452531d0660de8&stat=instructions:u
- `-unroll-max-iteration-count-to-analyze=128`: https://llvm-compile-time-tracker.com/compare.php?from=adf3daae1c10b46de4017d7ab0110c215c1b9981&to=e3e6643242fbc30f05aedfd3613cbdcac88a017e&stat=instructions:u
- `-unroll-max-iteration-count-to-analyze=1M`: https://llvm-compile-time-tracker.com/compare.php?from=adf3daae1c10b46de4017d7ab0110c215c1b9981&to=ac4c5f401a5d87db772f5e0183bb98a458b7704d&stat=instructions:u

As one would expect, bumping it has a pretty catastrophical impact both on the compile time, and code size.
Is that really the preferred(*) solution?

(At the same time, i still stand by my opinion that once LV properly handles outer loop vectorization, we must not unroll before that.)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136806/new/

https://reviews.llvm.org/D136806



More information about the llvm-commits mailing list