xref: /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp (revision 77a1348b3c1cfe8547be49a121b56299a1e18b69)
1 //===- LoopAccessAnalysisPrinter.cpp - Loop Access Analysis Printer --------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h"
10 #include "llvm/Analysis/LoopAccessAnalysis.h"
11 using namespace llvm;
12 
13 #define DEBUG_TYPE "loop-accesses"
14 
15 PreservedAnalyses
16 LoopAccessInfoPrinterPass::run(Loop &L, LoopAnalysisManager &AM,
17                                LoopStandardAnalysisResults &AR, LPMUpdater &) {
18   Function &F = *L.getHeader()->getParent();
19   auto &LAI = AM.getResult<LoopAccessAnalysis>(L, AR);
20   OS << "Loop access info in function '" << F.getName() << "':\n";
21   OS.indent(2) << L.getHeader()->getName() << ":\n";
22   LAI.print(OS, 4);
23   return PreservedAnalyses::all();
24 }
25