30 #ifndef LLVM_ANALYSIS_LOOPANALYSISMANAGER_H 31 #define LLVM_ANALYSIS_LOOPANALYSISMANAGER_H 93 : InnerAM(&InnerAM), LI(&LI) {}
98 Arg.InnerAM =
nullptr;
101 InnerAM = RHS.InnerAM;
106 RHS.InnerAM =
nullptr;
153 LoopStandardAnalysisResults &>
160 #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 class represents lattice values for constants.
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.
A cache of @llvm.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.
Encapsulates MemorySSA, including all data associated with memory accesses.
Result(LoopAnalysisManager &InnerAM, LoopInfo &LI)
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.
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
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.
Result run(IRUnitT &IR, AnalysisManager< IRUnitT, ExtraArgTs... > &AM, ExtraArgTs...)
Run the analysis pass and create our proxy result object.
amdgpu Simplify well known AMD library false Value Value * Arg
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 file exposes an interface to building/using memory SSA to walk memory instructions using a use/d...
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...
cl::opt< bool > EnableMSSALoopDependency
Enables memory ssa as a dependency for loop passes.