LLVM  3.7.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::TargetIRAnalysis Class Reference

Analysis pass providing the TargetTransformInfo. More...

#include <TargetTransformInfo.h>

Public Types

typedef TargetTransformInfo Result
 

Public Member Functions

 TargetIRAnalysis ()
 Default construct a target IR analysis. More...
 
 TargetIRAnalysis (std::function< Result(Function &)> TTICallback)
 Construct an IR analysis pass around a target-provide callback. More...
 
 TargetIRAnalysis (const TargetIRAnalysis &Arg)
 
 TargetIRAnalysis (TargetIRAnalysis &&Arg)
 
TargetIRAnalysisoperator= (const TargetIRAnalysis &RHS)
 
TargetIRAnalysisoperator= (TargetIRAnalysis &&RHS)
 
Result run (Function &F)
 

Static Public Member Functions

static void * ID ()
 Opaque, unique identifier for this analysis pass. More...
 
static StringRef name ()
 Provide access to a name for this pass for debugging purposes. More...
 

Detailed Description

Analysis pass providing the TargetTransformInfo.

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 839 of file TargetTransformInfo.h.

Member Typedef Documentation

Definition at line 841 of file TargetTransformInfo.h.

Constructor & Destructor Documentation

TargetIRAnalysis::TargetIRAnalysis ( )

Default construct a target IR analysis.

This will use the module's datalayout to construct a baseline conservative TTI result.

Definition at line 294 of file TargetTransformInfo.cpp.

TargetIRAnalysis::TargetIRAnalysis ( std::function< Result(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 296 of file TargetTransformInfo.cpp.

llvm::TargetIRAnalysis::TargetIRAnalysis ( const TargetIRAnalysis Arg)
inline

Definition at line 862 of file TargetTransformInfo.h.

llvm::TargetIRAnalysis::TargetIRAnalysis ( TargetIRAnalysis &&  Arg)
inline

Definition at line 864 of file TargetTransformInfo.h.

Member Function Documentation

static void* llvm::TargetIRAnalysis::ID ( )
inlinestatic

Opaque, unique identifier for this analysis pass.

Definition at line 844 of file TargetTransformInfo.h.

static StringRef llvm::TargetIRAnalysis::name ( )
inlinestatic

Provide access to a name for this pass for debugging purposes.

Definition at line 847 of file TargetTransformInfo.h.

TargetIRAnalysis& llvm::TargetIRAnalysis::operator= ( const TargetIRAnalysis RHS)
inline

Definition at line 866 of file TargetTransformInfo.h.

TargetIRAnalysis& llvm::TargetIRAnalysis::operator= ( TargetIRAnalysis &&  RHS)
inline

Definition at line 870 of file TargetTransformInfo.h.

TargetIRAnalysis::Result TargetIRAnalysis::run ( Function F)

The documentation for this class was generated from the following files: