LLVM 19.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
TargetTransformInfo.h File Reference

This pass exposes codegen information to IR-level passes. More...

#include "llvm/ADT/SmallBitVector.h"
#include "llvm/IR/FMF.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/InstructionCost.h"
#include <functional>
#include <optional>
#include <utility>

Go to the source code of this file.

Classes

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
 
struct  llvm::TailFoldingInfo
 
class  llvm::TargetTransformInfo
 This pass provides access to the codegen interfaces that are needed for IR-level transformations. More...
 
struct  llvm::TargetTransformInfo::PointersChainInfo
 Describe known properties for a set of pointers. 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::OperandValueInfo
 
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

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::Intrinsic
 This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.
 

Typedefs

typedef TargetTransformInfo llvm::TTI
 

Enumerations

enum class  llvm::TailFoldingStyle {
  llvm::None , llvm::Data , llvm::DataWithoutLaneMask , llvm::DataAndControlFlow ,
  llvm::DataAndControlFlowWithoutRuntimeCheck , llvm::DataWithEVL
}
 

Functions

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

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.