[PATCH] D28452: [PM] Move the LoopPassManager to the transforms library.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 7 19:52:51 PST 2017


chandlerc created this revision.
chandlerc added reviewers: mehdi_amini, mkuper, sanjoy, bogner, mzolotukhin.
chandlerc added a subscriber: llvm-commits.
Herald added subscribers: mgorny, mcrosier.

While the loop PM uses an analysis to form the IR units, the current
plan is to have the PM itself establish and enforce both loop simplified
form and LCSSA. This would be a layering violation in the analysis
library.

Fundamentally, the idea behind the loop PM is to *transform* loops in
addition to running passes over them, so it really seemed like the most
natural place to sink this was into the transforms library.


https://reviews.llvm.org/D28452

Files:
  include/llvm/Analysis/IVUsers.h
  include/llvm/Analysis/LoopAccessAnalysis.h
  include/llvm/Analysis/LoopPassManager.h
  include/llvm/Passes/PassBuilder.h
  include/llvm/Transforms/Scalar/IndVarSimplify.h
  include/llvm/Transforms/Scalar/LICM.h
  include/llvm/Transforms/Scalar/LoopDeletion.h
  include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
  include/llvm/Transforms/Scalar/LoopInstSimplify.h
  include/llvm/Transforms/Scalar/LoopPassManager.h
  include/llvm/Transforms/Scalar/LoopRotation.h
  include/llvm/Transforms/Scalar/LoopSimplifyCFG.h
  include/llvm/Transforms/Scalar/LoopStrengthReduce.h
  include/llvm/Transforms/Scalar/LoopUnrollPass.h
  include/llvm/Transforms/Vectorize/LoopVectorize.h
  lib/Analysis/CMakeLists.txt
  lib/Analysis/IVUsers.cpp
  lib/Analysis/LoopAccessAnalysis.cpp
  lib/Analysis/LoopPass.cpp
  lib/Analysis/LoopPassManager.cpp
  lib/LTO/LTOBackend.cpp
  lib/Passes/PassBuilder.cpp
  lib/Transforms/Scalar/CMakeLists.txt
  lib/Transforms/Scalar/IndVarSimplify.cpp
  lib/Transforms/Scalar/LICM.cpp
  lib/Transforms/Scalar/LoopDeletion.cpp
  lib/Transforms/Scalar/LoopDistribute.cpp
  lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  lib/Transforms/Scalar/LoopInstSimplify.cpp
  lib/Transforms/Scalar/LoopPassManager.cpp
  lib/Transforms/Scalar/LoopRotation.cpp
  lib/Transforms/Scalar/LoopSimplifyCFG.cpp
  lib/Transforms/Scalar/LoopSink.cpp
  lib/Transforms/Scalar/LoopStrengthReduce.cpp
  lib/Transforms/Scalar/LoopUnrollPass.cpp
  tools/opt/NewPMDriver.cpp
  unittests/Analysis/CMakeLists.txt
  unittests/Analysis/LoopPassManagerTest.cpp
  unittests/Transforms/CMakeLists.txt
  unittests/Transforms/Scalar/CMakeLists.txt
  unittests/Transforms/Scalar/LoopPassManagerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28452.83545.patch
Type: text/x-patch
Size: 38954 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170108/7f4d9d7e/attachment.bin>


More information about the llvm-commits mailing list