LLVM  14.0.0git
Classes | Namespaces | Typedefs | Functions
TargetTransformInfo.h File Reference
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/InstructionCost.h"
#include <functional>
Include dependency graph for TargetTransformInfo.h:

Go to the source code of this file.

Classes

class  llvm::Optional< T >
 
struct  llvm::MemIntrinsicInfo
 Information about a load/store intrinsic defined by the target. More...
 
struct  llvm::HardwareLoopInfo
 Attributes of a target dependent hardware loop. More...
 
class  llvm::IntrinsicCostAttributes
 
class  llvm::TargetTransformInfo
 This pass provides access to the codegen interfaces that are needed for IR-level transformations. More...
 
struct  llvm::TargetTransformInfo::LSRCost
 
struct  llvm::TargetTransformInfo::UnrollingPreferences
 Parameters that control the generic loop unrolling transformation. More...
 
struct  llvm::TargetTransformInfo::PeelingPreferences
 
struct  llvm::TargetTransformInfo::MemCmpExpansionOptions
 Returns options for expansion of memcmp. IsZeroCmp is. More...
 
struct  llvm::TargetTransformInfo::ReductionFlags
 Flags describing the kind of vector reduction. More...
 
struct  llvm::TargetTransformInfo::VPLegalization
 
class  llvm::TargetTransformInfo::Concept
 
class  llvm::TargetIRAnalysis
 Analysis pass providing the TargetTransformInfo. More...
 
class  llvm::TargetTransformInfoWrapperPass
 Wrapper pass for TargetTransformInfo. More...
 

Namespaces

 llvm
 This file implements support for optimizing divisions by a constant.
 
 llvm::Intrinsic
 This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.
 

Typedefs

typedef unsigned llvm::Intrinsic::ID
 
typedef TargetTransformInfo llvm::TTI
 

Functions

ImmutablePassllvm::createTargetTransformInfoWrapperPass (TargetIRAnalysis TIRA)
 Create an analysis pass wrapper around a TTI object. More...
 

Detailed Description

This pass exposes codegen information to IR-level passes. Every transformation that uses codegen information is broken into three parts:

  1. The IR-level analysis pass.
  2. The IR-level transformation interface which provides the needed information.
  3. Codegen-level implementation which uses target-specific hooks.

This file defines #2, which is the interface that IR-level transformations use for querying the codegen.

Definition in file TargetTransformInfo.h.