30 #ifndef LLVM_ANALYSIS_LOOPANALYSISMANAGER_H
31 #define LLVM_ANALYSIS_LOOPANALYSISMANAGER_H
88 : InnerAM(&InnerAM), LI(&LI) {}
89 Result(
Result &&Arg) : InnerAM(std::move(Arg.InnerAM)), LI(Arg.LI) {
93 Arg.InnerAM =
nullptr;
96 InnerAM = RHS.InnerAM;
101 RHS.InnerAM =
nullptr;
155 #endif // LLVM_ANALYSIS_LOOPANALYSISMANAGER_H
This file provides a priority worklist.
LoopAnalysisManager & getManager()
Accessor for the analysis manager.
PreservedAnalyses getLoopPassPreservedAnalyses()
Returns the minimum set of Analyses that all loop passes must preserve.
This is the interface for a simple mod/ref and alias analysis over globals.
InnerAnalysisManagerProxy< LoopAnalysisManager, Function > LoopAnalysisManagerFunctionProxy
A proxy from a LoopAnalysisManager to a Function.
The main scalar evolution driver.
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
A cache of .assume calls within a function.
OuterAnalysisManagerProxy< FunctionAnalysisManager, Loop, LoopStandardAnalysisResults & > FunctionAnalysisManagerLoopProxy
A proxy from a FunctionAnalysisManager to a Loop.
The adaptor from a function pass to a loop pass computes these analyses and makes them available to t...
This is the interface for a SCEV-based alias analysis.
Result(LoopAnalysisManager &InnerAM, LoopInfo &LI)
Result run(IRUnitT &IR, AnalysisManager< IRUnitT, ExtraArgTs...> &AM, ExtraArgTs...)
Run the analysis pass and create our proxy result object.
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree...
A specialized result for the LoopAnalysisManagerFunctionProxy which retains a LoopInfo reference...
AnalysisManager< Loop, LoopStandardAnalysisResults & > LoopAnalysisManager
The loop analysis manager.
A set of analyses that are preserved following a run of a transformation pass.
TargetTransformInfo & TTI
Result & operator=(Result &&RHS)
An analysis over an "inner" IR unit that provides access to an analysis manager over a "outer" IR uni...
Provides information about what library functions are available for the current target.
Represents a single loop in the control flow graph.
API to communicate dependencies between analyses during invalidation.
This templated class represents "all analyses that operate over \<a particular IR unit\>" (e...
This is the interface for LLVM's primary stateless and local alias analysis.
A container for analyses that lazily runs them and caches their results.
This header defines various interfaces for pass management in LLVM.
An analysis over an "outer" IR unit that provides access to an analysis manager over an "inner" IR un...