LLVM 18.0.0git
|
An AnalysisManager<MachineFunction> that also exposes IR analysis results. More...
#include "llvm/CodeGen/MachinePassManager.h"
Public Types | |
using | Base = AnalysisManager< MachineFunction > |
Public Member Functions | |
MachineFunctionAnalysisManager () | |
MachineFunctionAnalysisManager (FunctionAnalysisManager &FAM, ModuleAnalysisManager &MAM) | |
MachineFunctionAnalysisManager (MachineFunctionAnalysisManager &&)=default | |
MachineFunctionAnalysisManager & | operator= (MachineFunctionAnalysisManager &&)=default |
template<typename PassT > | |
PassT::Result & | getResult (Function &F) |
Get the result of an analysis pass for a Function. | |
template<typename PassT > | |
PassT::Result * | getCachedResult (Function &F) |
Get the cached result of an analysis pass for a Function. | |
template<typename PassT > | |
PassT::Result & | getResult (Module &M) |
Get the result of an analysis pass for a Module. | |
template<typename PassT > | |
PassT::Result * | getCachedResult (Module &M) |
Get the cached result of an analysis pass for a Module. | |
![]() | |
AnalysisManager () | |
Construct an empty analysis manager. | |
AnalysisManager (AnalysisManager &&) | |
AnalysisManager & | operator= (AnalysisManager &&) |
bool | empty () const |
Returns true if the analysis manager has an empty results cache. | |
void | clear (MachineFunction &IR, llvm::StringRef Name) |
Clear any cached analysis results for a single unit of IR. | |
void | clear () |
Clear all analysis results cached by this AnalysisManager. | |
PassT::Result & | getResult (MachineFunction &IR, ExtraArgTs... ExtraArgs) |
Get the result of an analysis pass for a given IR unit. | |
PassT::Result * | getCachedResult (MachineFunction &IR) const |
Get the cached result of an analysis pass for a given IR unit. | |
void | verifyNotInvalidated (MachineFunction &IR, typename PassT::Result *Result) const |
Verify that the given Result cannot be invalidated, assert otherwise. | |
bool | registerPass (PassBuilderT &&PassBuilder) |
Register an analysis pass with the manager. | |
void | invalidate (MachineFunction &IR, const PreservedAnalyses &PA) |
Invalidate cached analyses for an IR unit. | |
Public Attributes | |
FunctionAnalysisManager * | FAM |
ModuleAnalysisManager * | MAM |
An AnalysisManager<MachineFunction> that also exposes IR analysis results.
Definition at line 41 of file MachinePassManager.h.
Definition at line 43 of file MachinePassManager.h.
|
inline |
Definition at line 45 of file MachinePassManager.h.
|
inline |
Definition at line 46 of file MachinePassManager.h.
|
default |
|
inline |
Get the cached result of an analysis pass for a Function.
This method never runs the analysis.
Definition at line 66 of file MachinePassManager.h.
References F, FAM, and llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult().
|
inline |
Get the cached result of an analysis pass for a Module.
This method never runs the analysis.
Definition at line 82 of file MachinePassManager.h.
References llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getCachedResult(), and MAM.
|
inline |
Get the result of an analysis pass for a Function.
Runs the analysis if a cached result is not available.
Definition at line 56 of file MachinePassManager.h.
References F, FAM, and llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult().
Referenced by llvm::MachineFunctionPassManager::run().
|
inline |
Get the result of an analysis pass for a Module.
Runs the analysis if a cached result is not available.
Definition at line 73 of file MachinePassManager.h.
References llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), and MAM.
|
default |
FunctionAnalysisManager* llvm::MachineFunctionAnalysisManager::FAM |
Definition at line 99 of file MachinePassManager.h.
Referenced by llvm::CodeGenPassBuilder< DerivedT >::registerAnalyses().
ModuleAnalysisManager* llvm::MachineFunctionAnalysisManager::MAM |
Definition at line 100 of file MachinePassManager.h.
Referenced by llvm::CodeGenPassBuilder< DerivedT >::registerAnalyses().