|
LLVM 22.0.0git
|
This header provides classes for managing per-loop analyses. More...
Go to the source code of this file.
Classes | |
| struct | llvm::LoopStandardAnalysisResults |
| The adaptor from a function pass to a loop pass computes these analyses and makes them available to the loop passes "for free". More... | |
| class | llvm::LoopAnalysisManagerFunctionProxy::Result |
A specialized result for the LoopAnalysisManagerFunctionProxy which retains a LoopInfo reference. More... | |
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
Typedefs | |
| typedef AnalysisManager< Loop, LoopStandardAnalysisResults & > | llvm::LoopAnalysisManager |
| The loop analysis manager. | |
| typedef InnerAnalysisManagerProxy< LoopAnalysisManager, Function > | llvm::LoopAnalysisManagerFunctionProxy |
A proxy from a LoopAnalysisManager to a Function. | |
| typedef OuterAnalysisManagerProxy< FunctionAnalysisManager, Loop, LoopStandardAnalysisResults & > | llvm::FunctionAnalysisManagerLoopProxy |
A proxy from a FunctionAnalysisManager to a Loop. | |
Functions | |
| LLVM_ABI PreservedAnalyses | llvm::getLoopPassPreservedAnalyses () |
| Returns the minimum set of Analyses that all loop passes must preserve. | |
Variables | |
| template class LLVM_TEMPLATE_ABI | llvm::AllAnalysesOn< Loop > |
| Extern template declaration for the analysis set for this IR unit. | |
| template class LLVM_TEMPLATE_ABI | llvm::AnalysisManager< Loop, LoopStandardAnalysisResults & > |
| template class LLVM_TEMPLATE_ABI | llvm::OuterAnalysisManagerProxy< FunctionAnalysisManager, Loop, LoopStandardAnalysisResults & > |
This header provides classes for managing per-loop analyses.
These are typically used as part of a loop pass pipeline over the loop nests of a function.
Loop analyses are allowed to make some simplifying assumptions: 1) Loops are, where possible, in simplified form. 2) Loops are always in LCSSA form. 3) A collection of analysis results are available:
The primary mechanism to provide these invariants is the loop pass manager, but they can also be manually provided in order to reason about a loop from outside of a dedicated pass manager.
Definition in file LoopAnalysisManager.h.