summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Analysis/LoopAccessAnalysis.h16
-rw-r--r--llvm/lib/Analysis/LoopAccessAnalysis.cpp6
-rw-r--r--llvm/lib/Passes/PassRegistry.def2
3 files changed, 15 insertions, 9 deletions
diff --git a/llvm/include/llvm/Analysis/LoopAccessAnalysis.h b/llvm/include/llvm/Analysis/LoopAccessAnalysis.h
index 71d06322167..2d88e6dfbee 100644
--- a/llvm/include/llvm/Analysis/LoopAccessAnalysis.h
+++ b/llvm/include/llvm/Analysis/LoopAccessAnalysis.h
@@ -772,16 +772,22 @@ private:
LoopInfo *LI;
};
-/// \brief LoopAccessInfoAnalysis
-class LoopAccessInfoAnalysis
- : public AnalysisInfoMixin<LoopAccessInfoAnalysis> {
- friend AnalysisInfoMixin<LoopAccessInfoAnalysis>;
+/// \brief This analysis provides dependence information for the memory
+/// accesses of a loop.
+///
+/// It runs the analysis for a loop on demand. This can be initiated by
+/// querying the loop access info via AM.getResult<LoopAccessAnalysis>.
+/// getResult return a LoopAccessInfo object. See this class for the
+/// specifics of what information is provided.
+class LoopAccessAnalysis
+ : public AnalysisInfoMixin<LoopAccessAnalysis> {
+ friend AnalysisInfoMixin<LoopAccessAnalysis>;
static char PassID;
public:
typedef LoopAccessInfo Result;
Result run(Loop &, AnalysisManager<Loop> &);
- static StringRef name() { return "LoopAccessInfoAnalysis"; }
+ static StringRef name() { return "LoopAccessAnalysis"; }
};
/// \brief Printer pass for the \c LoopAccessInfo results.
diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
index 9692ab9a7fe..a6a9304e5f3 100644
--- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp
+++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
@@ -2024,9 +2024,9 @@ INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass)
INITIALIZE_PASS_END(LoopAccessLegacyAnalysis, LAA_NAME, laa_name, false, true)
-char LoopAccessInfoAnalysis::PassID;
+char LoopAccessAnalysis::PassID;
-LoopAccessInfo LoopAccessInfoAnalysis::run(Loop &L, AnalysisManager<Loop> &AM) {
+LoopAccessInfo LoopAccessAnalysis::run(Loop &L, AnalysisManager<Loop> &AM) {
const AnalysisManager<Function> &FAM =
AM.getResult<FunctionAnalysisManagerLoopProxy>(L).getManager();
Function &F = *L.getHeader()->getParent();
@@ -2051,7 +2051,7 @@ LoopAccessInfo LoopAccessInfoAnalysis::run(Loop &L, AnalysisManager<Loop> &AM) {
PreservedAnalyses LoopAccessInfoPrinterPass::run(Loop &L,
AnalysisManager<Loop> &AM) {
Function &F = *L.getHeader()->getParent();
- auto &LAI = AM.getResult<LoopAccessInfoAnalysis>(L);
+ auto &LAI = AM.getResult<LoopAccessAnalysis>(L);
OS << "Loop access info in function '" << F.getName() << "':\n";
OS.indent(2) << L.getHeader()->getName() << ":\n";
LAI.print(OS, 4);
diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def
index 037f24f8305..9acb0dfed0e 100644
--- a/llvm/lib/Passes/PassRegistry.def
+++ b/llvm/lib/Passes/PassRegistry.def
@@ -176,7 +176,7 @@ FUNCTION_PASS("verify<regions>", RegionInfoVerifierPass())
#define LOOP_ANALYSIS(NAME, CREATE_PASS)
#endif
LOOP_ANALYSIS("no-op-loop", NoOpLoopAnalysis())
-LOOP_ANALYSIS("access-info", LoopAccessInfoAnalysis())
+LOOP_ANALYSIS("access-info", LoopAccessAnalysis())
#undef LOOP_ANALYSIS
#ifndef LOOP_PASS
OpenPOWER on IntegriCloud