[PATCH] D124926: [LoopInterchange] New cost model for loop interchange

Congzhe Cao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 28 10:47:25 PDT 2022


congzhe updated this revision to Diff 432741.
congzhe edited the summary of this revision.
congzhe added a comment.
Herald added subscribers: steven.zhang, asbirlea.

Updated the test case `Transforms/LICM/lnicm.ll` according to comments from Bardia @bmahjour, used opaque pointers and non-fixed size array. A few minor basic blocks were added in `Transforms/LICM/lnicm.ll` but the semantics did not change. Now delinearization works for it, and the new interchange cost model works fine - after running LNICM the loopnest will be interchanged.


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

https://reviews.llvm.org/D124926

Files:
  llvm/lib/Transforms/Scalar/LoopInterchange.cpp
  llvm/test/Transforms/LICM/lnicm.ll
  llvm/test/Transforms/LoopInterchange/call-instructions.ll
  llvm/test/Transforms/LoopInterchange/currentLimitation.ll
  llvm/test/Transforms/LoopInterchange/debuginfo.ll
  llvm/test/Transforms/LoopInterchange/inner-indvar-depend-on-outer-indvar.ll
  llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
  llvm/test/Transforms/LoopInterchange/innermost-latch-uses-values-in-middle-header.ll
  llvm/test/Transforms/LoopInterchange/interchange-flow-dep-outer.ll
  llvm/test/Transforms/LoopInterchange/interchange-insts-between-indvar.ll
  llvm/test/Transforms/LoopInterchange/interchange-no-deps.ll
  llvm/test/Transforms/LoopInterchange/interchangeable-innerloop-multiple-indvars.ll
  llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
  llvm/test/Transforms/LoopInterchange/interchangeable.ll
  llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
  llvm/test/Transforms/LoopInterchange/lcssa-preheader.ll
  llvm/test/Transforms/LoopInterchange/lcssa.ll
  llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
  llvm/test/Transforms/LoopInterchange/not-interchanged-dependencies-1.ll
  llvm/test/Transforms/LoopInterchange/not-interchanged-loop-nest-3.ll
  llvm/test/Transforms/LoopInterchange/not-interchanged-tightly-nested.ll
  llvm/test/Transforms/LoopInterchange/outer-header-jump-to-inner-latch.ll
  llvm/test/Transforms/LoopInterchange/outer-only-reductions.ll
  llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
  llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
  llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll
  llvm/test/Transforms/LoopInterchange/pr43326.ll
  llvm/test/Transforms/LoopInterchange/pr43473-invalid-lcssa-phis-in-inner-exit.ll
  llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
  llvm/test/Transforms/LoopInterchange/pr45743-move-from-inner-preheader.ll
  llvm/test/Transforms/LoopInterchange/pr48212.ll
  llvm/test/Transforms/LoopInterchange/profitability.ll
  llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
  llvm/test/Transforms/LoopInterchange/update-condbranch-duplicate-successors.ll
  llvm/test/Transforms/LoopInterchange/vector-gep-operand.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124926.432741.patch
Type: text/x-patch
Size: 42673 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220528/9bacf0c6/attachment.bin>


More information about the llvm-commits mailing list