LLVM: llvm::TargetIRAnalysis Class Reference (original) (raw)
Analysis pass providing the [TargetTransformInfo](classllvm%5F1%5F1TargetTransformInfo.html "This pass provides access to the codegen interfaces that are needed for IR-level transformations."). More...
#include "[llvm/Analysis/TargetTransformInfo.h](TargetTransformInfo%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| LLVM_ABI | TargetIRAnalysis () |
| Default construct a target IR analysis. | |
| LLVM_ABI | TargetIRAnalysis (std::function< Result(const Function &)> TTICallback) |
| Construct an IR analysis pass around a target-provide callback. | |
| TargetIRAnalysis (const TargetIRAnalysis &Arg) | |
| TargetIRAnalysis (TargetIRAnalysis &&Arg) | |
| TargetIRAnalysis & | operator= (const TargetIRAnalysis &RHS) |
| TargetIRAnalysis & | operator= (TargetIRAnalysis &&RHS) |
| LLVM_ABI Result | run (const Function &F, FunctionAnalysisManager &) |
| Public Member Functions inherited from llvm::PassInfoMixin< TargetIRAnalysis > | |
| void | printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) |
| Additional Inherited Members | |
|---|---|
| Static Public Member Functions inherited from llvm::AnalysisInfoMixin< TargetIRAnalysis > | |
| static AnalysisKey * | ID () |
| Returns an opaque, unique ID for this analysis type. | |
| Static Public Member Functions inherited from llvm::PassInfoMixin< TargetIRAnalysis > | |
| static StringRef | name () |
| Gets the name of the pass we are mixed into. |
Analysis pass providing the [TargetTransformInfo](classllvm%5F1%5F1TargetTransformInfo.html "This pass provides access to the codegen interfaces that are needed for IR-level transformations.").
The core idea of the TargetIRAnalysis is to expose an interface through which LLVM targets can analyze and provide information about the middle end's target-independent IR. This supports use cases such as target-aware cost modeling of IR constructs.
This is a function analysis because much of the cost modeling for targets is done in a subtarget specific way and LLVM supports compiling different functions targeting different subtargets in order to support runtime dispatch according to the observed subtarget.
Definition at line 2018 of file TargetTransformInfo.h.
◆ Result
| TargetIRAnalysis::TargetIRAnalysis | ( | ) |
|---|
◆ TargetIRAnalysis() [2/4]
| TargetIRAnalysis::TargetIRAnalysis | ( | std::function< Result(const Function &)> | TTICallback | ) |
|---|
Construct an IR analysis pass around a target-provide callback.
The callback will be called with a particular function for which the TTI is needed and must return a TTI object for that function.
Definition at line 1504 of file TargetTransformInfo.cpp.
References llvm::move().
◆ TargetIRAnalysis() [3/4]
◆ TargetIRAnalysis() [4/4]
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ run()
The documentation for this class was generated from the following files:
- include/llvm/Analysis/TargetTransformInfo.h
- lib/Analysis/TargetTransformInfo.cpp