[PATCH] D104179: [NFC] [LoopIdiom] [LoopNest] Create LoopIdiomRecognize as a LoopNestPass

Yueh-Ting Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 12 05:43:30 PDT 2021


eopXD created this revision.
Herald added subscribers: frasercrmck, kerbowa, luismarques, apazos, sameer.abuasal, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya, nhaehnle, jvesely.
eopXD requested review of this revision.
Herald added subscribers: llvm-commits, MaskRay.
Herald added a project: LLVM.

This LoopNest-version LIR is currently identical to the Loop-version LIR. The
new added pass is added into PassRegistry as "loop-nest-idiom". Following
patches will utilize the LoopNest structure for more efficient optimization.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D104179

Files:
  llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  llvm/test/Transforms/LoopIdiom/AMDGPU/popcnt.ll
  llvm/test/Transforms/LoopIdiom/ARM/ctlz.ll
  llvm/test/Transforms/LoopIdiom/RISCV/popcnt.ll
  llvm/test/Transforms/LoopIdiom/X86/arithmetic-right-shift-until-zero.ll
  llvm/test/Transforms/LoopIdiom/X86/ctlz.ll
  llvm/test/Transforms/LoopIdiom/X86/cttz.ll
  llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
  llvm/test/Transforms/LoopIdiom/X86/left-shift-until-zero.ll
  llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-cost.ll
  llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-debuginfo.ll
  llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero.ll
  llvm/test/Transforms/LoopIdiom/X86/popcnt.ll
  llvm/test/Transforms/LoopIdiom/X86/unordered-atomic-memcpy.ll
  llvm/test/Transforms/LoopIdiom/basic-address-space.ll
  llvm/test/Transforms/LoopIdiom/basic.ll
  llvm/test/Transforms/LoopIdiom/crash.ll
  llvm/test/Transforms/LoopIdiom/ctpop-multiple-users-crash.ll
  llvm/test/Transforms/LoopIdiom/dbginfo-cost.ll
  llvm/test/Transforms/LoopIdiom/debug-line.ll
  llvm/test/Transforms/LoopIdiom/disable-options.ll
  llvm/test/Transforms/LoopIdiom/expander-do-not-delete-reused-values.ll
  llvm/test/Transforms/LoopIdiom/int_sideeffect.ll
  llvm/test/Transforms/LoopIdiom/lir-heurs-multi-block-loop.ll
  llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
  llvm/test/Transforms/LoopIdiom/memcpy-intrinsic-different-types.ll
  llvm/test/Transforms/LoopIdiom/memcpy-intrinsic.ll
  llvm/test/Transforms/LoopIdiom/memcpy-vectors.ll
  llvm/test/Transforms/LoopIdiom/memcpy.ll
  llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
  llvm/test/Transforms/LoopIdiom/memset.ll
  llvm/test/Transforms/LoopIdiom/memset_noidiom.ll
  llvm/test/Transforms/LoopIdiom/non-canonical-loop.ll
  llvm/test/Transforms/LoopIdiom/non-integral-pointers.ll
  llvm/test/Transforms/LoopIdiom/nontemporal_store.ll
  llvm/test/Transforms/LoopIdiom/phi-insertion.ll
  llvm/test/Transforms/LoopIdiom/pr28196.ll
  llvm/test/Transforms/LoopIdiom/pr33114.ll
  llvm/test/Transforms/LoopIdiom/reuse-cast.ll
  llvm/test/Transforms/LoopIdiom/scev-invalidation.ll
  llvm/test/Transforms/LoopIdiom/scev-invalidation_topmostloop.ll
  llvm/test/Transforms/LoopIdiom/struct-custom-dl.ll
  llvm/test/Transforms/LoopIdiom/struct.ll
  llvm/test/Transforms/LoopIdiom/struct_pattern.ll
  llvm/test/Transforms/LoopIdiom/unordered-atomic-memcpy-noarch.ll
  llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
  llvm/test/Transforms/LoopIdiom/unroll.ll
  llvm/test/Transforms/LoopIdiom/unsafe.ll
  llvm/test/Transforms/LoopIdiom/unwind.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104179.351653.patch
Type: text/x-patch
Size: 34851 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210612/3963cc01/attachment.bin>


More information about the llvm-commits mailing list