1*f1a29dd3SDimitry Andric //===- LoopAccessAnalysisPrinter.cpp - Loop Access Analysis Printer --------==// 2*f1a29dd3SDimitry Andric // 3*f1a29dd3SDimitry Andric // The LLVM Compiler Infrastructure 4*f1a29dd3SDimitry Andric // 5*f1a29dd3SDimitry Andric // This file is distributed under the University of Illinois Open Source 6*f1a29dd3SDimitry Andric // License. See LICENSE.TXT for details. 7*f1a29dd3SDimitry Andric // 8*f1a29dd3SDimitry Andric //===----------------------------------------------------------------------===// 9*f1a29dd3SDimitry Andric 10*f1a29dd3SDimitry Andric #include "llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h" 11*f1a29dd3SDimitry Andric #include "llvm/Analysis/LoopAccessAnalysis.h" 12*f1a29dd3SDimitry Andric using namespace llvm; 13*f1a29dd3SDimitry Andric 14*f1a29dd3SDimitry Andric #define DEBUG_TYPE "loop-accesses" 15*f1a29dd3SDimitry Andric 16*f1a29dd3SDimitry Andric PreservedAnalyses run(Loop & L,LoopAnalysisManager & AM,LoopStandardAnalysisResults & AR,LPMUpdater &)17*f1a29dd3SDimitry AndricLoopAccessInfoPrinterPass::run(Loop &L, LoopAnalysisManager &AM, 18*f1a29dd3SDimitry Andric LoopStandardAnalysisResults &AR, LPMUpdater &) { 19*f1a29dd3SDimitry Andric Function &F = *L.getHeader()->getParent(); 20*f1a29dd3SDimitry Andric auto &LAI = AM.getResult<LoopAccessAnalysis>(L, AR); 21*f1a29dd3SDimitry Andric OS << "Loop access info in function '" << F.getName() << "':\n"; 22*f1a29dd3SDimitry Andric OS.indent(2) << L.getHeader()->getName() << ":\n"; 23*f1a29dd3SDimitry Andric LAI.print(OS, 4); 24*f1a29dd3SDimitry Andric return PreservedAnalyses::all(); 25*f1a29dd3SDimitry Andric } 26