[all-commits] [llvm/llvm-project] fa3693: [LoopNest] Handle loop-nest passes in LoopPassManager
whitneywhtsang via All-commits
all-commits at lists.llvm.org
Wed Dec 16 09:07:53 PST 2020
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fa3693ad0b34ef1d64f49e3d3dd10865b9fb7a8b
https://github.com/llvm/llvm-project/commit/fa3693ad0b34ef1d64f49e3d3dd10865b9fb7a8b
Author: Whitney Tsang <whitneyt at ca.ibm.com>
Date: 2020-12-16 (Wed, 16 Dec 2020)
Changed paths:
M llvm/include/llvm/Analysis/LoopNestAnalysis.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/lib/Analysis/LoopNestAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
M llvm/unittests/IR/PassBuilderCallbacksTest.cpp
M llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
Log Message:
-----------
[LoopNest] Handle loop-nest passes in LoopPassManager
Per http://llvm.org/OpenProjects.html#llvm_loopnest, the goal of this
patch (and other following patches) is to create facilities that allow
implementing loop nest passes that run on top-level loop nests for the
New Pass Manager.
This patch extends the functionality of LoopPassManager to handle
loop-nest passes by specializing the definition of LoopPassManager that
accepts both kinds of passes in addPass.
Only loop passes are executed if L is not a top-level one, and both
kinds of passes are executed if L is top-level. Currently, loop nest
passes should have the following run method:
PreservedAnalyses run(LoopNest &, LoopAnalysisManager &,
LoopStandardAnalysisResults &, LPMUpdater &);
Reviewed By: Whitney, ychen
Differential Revision: https://reviews.llvm.org/D87045
More information about the All-commits
mailing list