diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:04 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:11 +0000 |
| commit | e3b557809604d036af6e00c60f012c2025b59a5e (patch) | |
| tree | 8a11ba2269a3b669601e2fd41145b174008f4da8 /llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp | |
| parent | 08e8dd7b9db7bb4a9de26d44c1cbfd24e869c014 (diff) | |
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp b/llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp index c063c0d3c88a..9ae55b9018da 100644 --- a/llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp +++ b/llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp @@ -7,19 +7,27 @@ //===----------------------------------------------------------------------===// #include "llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h" +#include "llvm/ADT/PriorityWorklist.h" #include "llvm/Analysis/LoopAccessAnalysis.h" #include "llvm/Analysis/LoopInfo.h" +#include "llvm/Transforms/Utils/LoopUtils.h" + using namespace llvm; #define DEBUG_TYPE "loop-accesses" -PreservedAnalyses -LoopAccessInfoPrinterPass::run(Loop &L, LoopAnalysisManager &AM, - LoopStandardAnalysisResults &AR, LPMUpdater &) { - Function &F = *L.getHeader()->getParent(); - auto &LAI = AM.getResult<LoopAccessAnalysis>(L, AR); +PreservedAnalyses LoopAccessInfoPrinterPass::run(Function &F, + FunctionAnalysisManager &AM) { + auto &LAIs = AM.getResult<LoopAccessAnalysis>(F); + auto &LI = AM.getResult<LoopAnalysis>(F); OS << "Loop access info in function '" << F.getName() << "':\n"; - OS.indent(2) << L.getHeader()->getName() << ":\n"; - LAI.print(OS, 4); + + SmallPriorityWorklist<Loop *, 4> Worklist; + appendLoopsToWorklist(LI, Worklist); + while (!Worklist.empty()) { + Loop *L = Worklist.pop_back_val(); + OS.indent(2) << L->getHeader()->getName() << ":\n"; + LAIs.getInfo(*L).print(OS, 4); + } return PreservedAnalyses::all(); } |
