[PATCH] D97357: [WIP] Inductive unrolling (PoC). Frames as a separate pass so far

Max Kazantsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 12 00:03:34 PST 2021


mkazantsev updated this revision to Diff 330155.
mkazantsev retitled this revision from "[WIP][Not ready for review] Inductive unrolling pass" to "[WIP] Inductive unrolling (PoC). Frames as a separate pass so far".
mkazantsev edited the summary of this revision.
mkazantsev added reviewers: skatkov, lebedev.ri, reames, asbirlea, nikic, spatel, apilipenko, anna.
mkazantsev added a comment.

Hi everyone,

Here is the idea of optimization we are currently missing, but unfortunately I could not find a really good place in any of the existing passes to integrate it into. The loop unrolling looks like a (more or less) proper place but not sure if it's where it truly belongs. Unrolling here is just a tool that we use to eliminate something which is (in most cases) an inductive check. So maybe it may be split between unrolling and IndVarSimplify.

Anyways, I'd appreciate any ideas and hints on where should we integrate this. As a fallback, we can always leave it as a separate pass until we find a place for it.


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

https://reviews.llvm.org/D97357

Files:
  llvm/include/llvm/Transforms/Scalar/InductiveUnrolling.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Transforms/Scalar/CMakeLists.txt
  llvm/lib/Transforms/Scalar/InductiveUnrolling.cpp
  llvm/test/Transforms/InductiveUnroll/motivation.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97357.330155.patch
Type: text/x-patch
Size: 44183 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210312/391a54ef/attachment.bin>


More information about the llvm-commits mailing list