LLVM  13.0.0git
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
llvm::TargetTransformInfoImplBase Class Reference

Base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class. More...

#include "llvm/Analysis/TargetTransformInfoImpl.h"

Inheritance diagram for llvm::TargetTransformInfoImplBase:
Inheritance graph
[legend]
Collaboration diagram for llvm::TargetTransformInfoImplBase:
Collaboration graph
[legend]

Public Member Functions

 TargetTransformInfoImplBase (const TargetTransformInfoImplBase &Arg)
 
 TargetTransformInfoImplBase (TargetTransformInfoImplBase &&Arg)
 
const DataLayoutgetDataLayout () const
 
InstructionCost getGEPCost (Type *PointeeType, const Value *Ptr, ArrayRef< const Value * > Operands, TTI::TargetCostKind CostKind=TTI::TCK_SizeAndLatency) const
 
unsigned getEstimatedNumberOfCaseClusters (const SwitchInst &SI, unsigned &JTSize, ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI) const
 
unsigned getInliningThresholdMultiplier () const
 
unsigned adjustInliningThreshold (const CallBase *CB) const
 
int getInlinerVectorBonusPercent () const
 
InstructionCost getMemcpyCost (const Instruction *I) const
 
BranchProbability getPredictableBranchThreshold () const
 
bool hasBranchDivergence () const
 
bool useGPUDivergenceAnalysis () const
 
bool isSourceOfDivergence (const Value *V) const
 
bool isAlwaysUniform (const Value *V) const
 
unsigned getFlatAddressSpace () const
 
bool collectFlatAddressOperands (SmallVectorImpl< int > &OpIndexes, Intrinsic::ID IID) const
 
bool isNoopAddrSpaceCast (unsigned, unsigned) const
 
unsigned getAssumedAddrSpace (const Value *V) const
 
ValuerewriteIntrinsicWithAddressSpace (IntrinsicInst *II, Value *OldV, Value *NewV) const
 
bool isLoweredToCall (const Function *F) const
 
bool isHardwareLoopProfitable (Loop *L, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *LibInfo, HardwareLoopInfo &HWLoopInfo) const
 
bool preferPredicateOverEpilogue (Loop *L, LoopInfo *LI, ScalarEvolution &SE, AssumptionCache &AC, TargetLibraryInfo *TLI, DominatorTree *DT, const LoopAccessInfo *LAI) const
 
bool emitGetActiveLaneMask () const
 
Optional< Instruction * > instCombineIntrinsic (InstCombiner &IC, IntrinsicInst &II) const
 
Optional< Value * > simplifyDemandedUseBitsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedMask, KnownBits &Known, bool &KnownBitsComputed) const
 
Optional< Value * > simplifyDemandedVectorEltsIntrinsic (InstCombiner &IC, IntrinsicInst &II, APInt DemandedElts, APInt &UndefElts, APInt &UndefElts2, APInt &UndefElts3, std::function< void(Instruction *, unsigned, APInt, APInt &)> SimplifyAndSetOp) const
 
void getUnrollingPreferences (Loop *, ScalarEvolution &, TTI::UnrollingPreferences &) const
 
void getPeelingPreferences (Loop *, ScalarEvolution &, TTI::PeelingPreferences &) const
 
bool isLegalAddImmediate (int64_t Imm) const
 
bool isLegalICmpImmediate (int64_t Imm) const
 
bool isLegalAddressingMode (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace, Instruction *I=nullptr) const
 
bool isLSRCostLess (TTI::LSRCost &C1, TTI::LSRCost &C2) const
 
bool isNumRegsMajorCostOfLSR () const
 
bool isProfitableLSRChainElement (Instruction *I) const
 
bool canMacroFuseCmp () const
 
bool canSaveCmp (Loop *L, BranchInst **BI, ScalarEvolution *SE, LoopInfo *LI, DominatorTree *DT, AssumptionCache *AC, TargetLibraryInfo *LibInfo) const
 
TTI::AddressingModeKind getPreferredAddressingMode (const Loop *L, ScalarEvolution *SE) const
 
bool isLegalMaskedStore (Type *DataType, Align Alignment) const
 
bool isLegalMaskedLoad (Type *DataType, Align Alignment) const
 
bool isLegalNTStore (Type *DataType, Align Alignment) const
 
bool isLegalNTLoad (Type *DataType, Align Alignment) const
 
bool isLegalMaskedScatter (Type *DataType, Align Alignment) const
 
bool isLegalMaskedGather (Type *DataType, Align Alignment) const
 
bool isLegalMaskedCompressStore (Type *DataType) const
 
bool isLegalMaskedExpandLoad (Type *DataType) const
 
bool hasDivRemOp (Type *DataType, bool IsSigned) const
 
bool hasVolatileVariant (Instruction *I, unsigned AddrSpace) const
 
bool prefersVectorizedAddressing () const
 
InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace) const
 
bool LSRWithInstrQueries () const
 
bool isTruncateFree (Type *Ty1, Type *Ty2) const
 
bool isProfitableToHoist (Instruction *I) const
 
bool useAA () const
 
bool isTypeLegal (Type *Ty) const
 
unsigned getRegUsageForType (Type *Ty) const
 
bool shouldBuildLookupTables () const
 
bool shouldBuildLookupTablesForConstant (Constant *C) const
 
bool shouldBuildRelLookupTables () const
 
bool useColdCCForColdCall (Function &F) const
 
InstructionCost getScalarizationOverhead (VectorType *Ty, const APInt &DemandedElts, bool Insert, bool Extract) const
 
InstructionCost getOperandsScalarizationOverhead (ArrayRef< const Value * > Args, ArrayRef< Type * > Tys) const
 
bool supportsEfficientVectorElementLoadStore () const
 
bool enableAggressiveInterleaving (bool LoopHasReductions) const
 
TTI::MemCmpExpansionOptions enableMemCmpExpansion (bool OptSize, bool IsZeroCmp) const
 
bool enableInterleavedAccessVectorization () const
 
bool enableMaskedInterleavedAccessVectorization () const
 
bool isFPVectorizationPotentiallyUnsafe () const
 
bool allowsMisalignedMemoryAccesses (LLVMContext &Context, unsigned BitWidth, unsigned AddressSpace, Align Alignment, bool *Fast) const
 
TTI::PopcntSupportKind getPopcntSupport (unsigned IntTyWidthInBit) const
 
bool haveFastSqrt (Type *Ty) const
 
bool isFCmpOrdCheaperThanFCmpZero (Type *Ty) const
 
InstructionCost getFPOpCost (Type *Ty) const
 
int getIntImmCodeSizeCost (unsigned Opcode, unsigned Idx, const APInt &Imm, Type *Ty) const
 
InstructionCost getIntImmCost (const APInt &Imm, Type *Ty, TTI::TargetCostKind CostKind) const
 
InstructionCost getIntImmCostInst (unsigned Opcode, unsigned Idx, const APInt &Imm, Type *Ty, TTI::TargetCostKind CostKind, Instruction *Inst=nullptr) const
 
InstructionCost getIntImmCostIntrin (Intrinsic::ID IID, unsigned Idx, const APInt &Imm, Type *Ty, TTI::TargetCostKind CostKind) const
 
unsigned getNumberOfRegisters (unsigned ClassID) const
 
unsigned getRegisterClassForType (bool Vector, Type *Ty=nullptr) const
 
const char * getRegisterClassName (unsigned ClassID) const
 
TypeSize getRegisterBitWidth (TargetTransformInfo::RegisterKind K) const
 
unsigned getMinVectorRegisterBitWidth () const
 
Optional< unsigned > getMaxVScale () const
 
bool shouldMaximizeVectorBandwidth () const
 
ElementCount getMinimumVF (unsigned ElemWidth, bool IsScalable) const
 
unsigned getMaximumVF (unsigned ElemWidth, unsigned Opcode) const
 
bool shouldConsiderAddressTypePromotion (const Instruction &I, bool &AllowPromotionWithoutCommonHeader) const
 
unsigned getCacheLineSize () const
 
llvm::Optional< unsigned > getCacheSize (TargetTransformInfo::CacheLevel Level) const
 
llvm::Optional< unsigned > getCacheAssociativity (TargetTransformInfo::CacheLevel Level) const
 
unsigned getPrefetchDistance () const
 
unsigned getMinPrefetchStride (unsigned NumMemAccesses, unsigned NumStridedMemAccesses, unsigned NumPrefetches, bool HasCall) const
 
unsigned getMaxPrefetchIterationsAhead () const
 
bool enableWritePrefetching () const
 
unsigned getMaxInterleaveFactor (unsigned VF) const
 
InstructionCost getArithmeticInstrCost (unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind, TTI::OperandValueKind Opd1Info, TTI::OperandValueKind Opd2Info, TTI::OperandValueProperties Opd1PropInfo, TTI::OperandValueProperties Opd2PropInfo, ArrayRef< const Value * > Args, const Instruction *CxtI=nullptr) const
 
InstructionCost getShuffleCost (TTI::ShuffleKind Kind, VectorType *Ty, ArrayRef< int > Mask, int Index, VectorType *SubTp) const
 
InstructionCost getCastInstrCost (unsigned Opcode, Type *Dst, Type *Src, TTI::CastContextHint CCH, TTI::TargetCostKind CostKind, const Instruction *I) const
 
InstructionCost getExtractWithExtendCost (unsigned Opcode, Type *Dst, VectorType *VecTy, unsigned Index) const
 
InstructionCost getCFInstrCost (unsigned Opcode, TTI::TargetCostKind CostKind, const Instruction *I=nullptr) const
 
InstructionCost getCmpSelInstrCost (unsigned Opcode, Type *ValTy, Type *CondTy, CmpInst::Predicate VecPred, TTI::TargetCostKind CostKind, const Instruction *I) const
 
InstructionCost getVectorInstrCost (unsigned Opcode, Type *Val, unsigned Index) const
 
InstructionCost getMemoryOpCost (unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, const Instruction *I) const
 
InstructionCost getMaskedMemoryOpCost (unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind) const
 
InstructionCost getGatherScatterOpCost (unsigned Opcode, Type *DataTy, const Value *Ptr, bool VariableMask, Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I=nullptr) const
 
unsigned getInterleavedMemoryOpCost (unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef< unsigned > Indices, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, bool UseMaskForCond, bool UseMaskForGaps) const
 
InstructionCost getIntrinsicInstrCost (const IntrinsicCostAttributes &ICA, TTI::TargetCostKind CostKind) const
 
InstructionCost getCallInstrCost (Function *F, Type *RetTy, ArrayRef< Type * > Tys, TTI::TargetCostKind CostKind) const
 
unsigned getNumberOfParts (Type *Tp) const
 
InstructionCost getAddressComputationCost (Type *Tp, ScalarEvolution *, const SCEV *) const
 
InstructionCost getArithmeticReductionCost (unsigned, VectorType *, bool, TTI::TargetCostKind) const
 
InstructionCost getMinMaxReductionCost (VectorType *, VectorType *, bool, bool, TTI::TargetCostKind) const
 
InstructionCost getExtendedAddReductionCost (bool IsMLA, bool IsUnsigned, Type *ResTy, VectorType *Ty, TTI::TargetCostKind CostKind=TTI::TCK_RecipThroughput) const
 
unsigned getCostOfKeepingLiveOverCall (ArrayRef< Type * > Tys) const
 
bool getTgtMemIntrinsic (IntrinsicInst *Inst, MemIntrinsicInfo &Info) const
 
unsigned getAtomicMemIntrinsicMaxElementSize () const
 
ValuegetOrCreateResultFromMemIntrinsic (IntrinsicInst *Inst, Type *ExpectedType) const
 
TypegetMemcpyLoopLoweringType (LLVMContext &Context, Value *Length, unsigned SrcAddrSpace, unsigned DestAddrSpace, unsigned SrcAlign, unsigned DestAlign) const
 
void getMemcpyLoopResidualLoweringType (SmallVectorImpl< Type * > &OpsOut, LLVMContext &Context, unsigned RemainingBytes, unsigned SrcAddrSpace, unsigned DestAddrSpace, unsigned SrcAlign, unsigned DestAlign) const
 
bool areInlineCompatible (const Function *Caller, const Function *Callee) const
 
bool areFunctionArgsABICompatible (const Function *Caller, const Function *Callee, SmallPtrSetImpl< Argument * > &Args) const
 
bool isIndexedLoadLegal (TTI::MemIndexedMode Mode, Type *Ty, const DataLayout &DL) const
 
bool isIndexedStoreLegal (TTI::MemIndexedMode Mode, Type *Ty, const DataLayout &DL) const
 
unsigned getLoadStoreVecRegBitWidth (unsigned AddrSpace) const
 
bool isLegalToVectorizeLoad (LoadInst *LI) const
 
bool isLegalToVectorizeStore (StoreInst *SI) const
 
bool isLegalToVectorizeLoadChain (unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const
 
bool isLegalToVectorizeStoreChain (unsigned ChainSizeInBytes, Align Alignment, unsigned AddrSpace) const
 
bool isLegalToVectorizeReduction (RecurrenceDescriptor RdxDesc, ElementCount VF) const
 
unsigned getLoadVectorFactor (unsigned VF, unsigned LoadSize, unsigned ChainSizeInBytes, VectorType *VecTy) const
 
unsigned getStoreVectorFactor (unsigned VF, unsigned StoreSize, unsigned ChainSizeInBytes, VectorType *VecTy) const
 
bool preferInLoopReduction (unsigned Opcode, Type *Ty, TTI::ReductionFlags Flags) const
 
bool preferPredicatedReductionSelect (unsigned Opcode, Type *Ty, TTI::ReductionFlags Flags) const
 
bool shouldExpandReduction (const IntrinsicInst *II) const
 
unsigned getGISelRematGlobalCost () const
 
bool supportsScalableVectors () const
 
bool hasActiveVectorLength () const
 
TargetTransformInfo::VPLegalization getVPLegalizationStrategy (const VPIntrinsic &PI) const
 

Protected Types

typedef TargetTransformInfo TTI
 

Protected Member Functions

 TargetTransformInfoImplBase (const DataLayout &DL)
 
unsigned minRequiredElementSize (const Value *Val, bool &isSigned) const
 
bool isStridedAccess (const SCEV *Ptr) const
 
const SCEVConstantgetConstantStrideStep (ScalarEvolution *SE, const SCEV *Ptr) const
 
bool isConstantStridedAccessLessThan (ScalarEvolution *SE, const SCEV *Ptr, int64_t MergeDistance) const
 

Protected Attributes

const DataLayoutDL
 

Detailed Description

Base class for use as a mix-in that aids implementing a TargetTransformInfo-compatible class.

Definition at line 34 of file TargetTransformInfoImpl.h.

Member Typedef Documentation

◆ TTI

Definition at line 36 of file TargetTransformInfoImpl.h.

Constructor & Destructor Documentation

◆ TargetTransformInfoImplBase() [1/3]

llvm::TargetTransformInfoImplBase::TargetTransformInfoImplBase ( const DataLayout DL)
inlineexplicitprotected

Definition at line 40 of file TargetTransformInfoImpl.h.

◆ TargetTransformInfoImplBase() [2/3]

llvm::TargetTransformInfoImplBase::TargetTransformInfoImplBase ( const TargetTransformInfoImplBase Arg)
inline

Definition at line 44 of file TargetTransformInfoImpl.h.

◆ TargetTransformInfoImplBase() [3/3]

llvm::TargetTransformInfoImplBase::TargetTransformInfoImplBase ( TargetTransformInfoImplBase &&  Arg)
inline

Definition at line 46 of file TargetTransformInfoImpl.h.

Member Function Documentation

◆ adjustInliningThreshold()

unsigned llvm::TargetTransformInfoImplBase::adjustInliningThreshold ( const CallBase CB) const
inline

Definition at line 74 of file TargetTransformInfoImpl.h.

◆ allowsMisalignedMemoryAccesses()

bool llvm::TargetTransformInfoImplBase::allowsMisalignedMemoryAccesses ( LLVMContext Context,
unsigned  BitWidth,
unsigned  AddressSpace,
Align  Alignment,
bool *  Fast 
) const
inline

Definition at line 332 of file TargetTransformInfoImpl.h.

◆ areFunctionArgsABICompatible()

bool llvm::TargetTransformInfoImplBase::areFunctionArgsABICompatible ( const Function Caller,
const Function Callee,
SmallPtrSetImpl< Argument * > &  Args 
) const
inline

◆ areInlineCompatible()

bool llvm::TargetTransformInfoImplBase::areInlineCompatible ( const Function Caller,
const Function Callee 
) const
inline

Definition at line 675 of file TargetTransformInfoImpl.h.

References Callee.

◆ canMacroFuseCmp()

bool llvm::TargetTransformInfoImplBase::canMacroFuseCmp ( ) const
inline

Definition at line 218 of file TargetTransformInfoImpl.h.

◆ canSaveCmp()

bool llvm::TargetTransformInfoImplBase::canSaveCmp ( Loop L,
BranchInst **  BI,
ScalarEvolution SE,
LoopInfo LI,
DominatorTree DT,
AssumptionCache AC,
TargetLibraryInfo LibInfo 
) const
inline

Definition at line 220 of file TargetTransformInfoImpl.h.

◆ collectFlatAddressOperands()

bool llvm::TargetTransformInfoImplBase::collectFlatAddressOperands ( SmallVectorImpl< int > &  OpIndexes,
Intrinsic::ID  IID 
) const
inline

Definition at line 102 of file TargetTransformInfoImpl.h.

◆ emitGetActiveLaneMask()

bool llvm::TargetTransformInfoImplBase::emitGetActiveLaneMask ( ) const
inline

◆ enableAggressiveInterleaving()

bool llvm::TargetTransformInfoImplBase::enableAggressiveInterleaving ( bool  LoopHasReductions) const
inline

Definition at line 317 of file TargetTransformInfoImpl.h.

◆ enableInterleavedAccessVectorization()

bool llvm::TargetTransformInfoImplBase::enableInterleavedAccessVectorization ( ) const
inline

Definition at line 326 of file TargetTransformInfoImpl.h.

◆ enableMaskedInterleavedAccessVectorization()

bool llvm::TargetTransformInfoImplBase::enableMaskedInterleavedAccessVectorization ( ) const
inline

Definition at line 328 of file TargetTransformInfoImpl.h.

◆ enableMemCmpExpansion()

TTI::MemCmpExpansionOptions llvm::TargetTransformInfoImplBase::enableMemCmpExpansion ( bool  OptSize,
bool  IsZeroCmp 
) const
inline

Definition at line 321 of file TargetTransformInfoImpl.h.

◆ enableWritePrefetching()

bool llvm::TargetTransformInfoImplBase::enableWritePrefetching ( ) const
inline

Definition at line 444 of file TargetTransformInfoImpl.h.

◆ getAddressComputationCost()

InstructionCost llvm::TargetTransformInfoImplBase::getAddressComputationCost ( Type Tp,
ScalarEvolution ,
const SCEV  
) const
inline

Definition at line 618 of file TargetTransformInfoImpl.h.

◆ getArithmeticInstrCost()

InstructionCost llvm::TargetTransformInfoImplBase::getArithmeticInstrCost ( unsigned  Opcode,
Type Ty,
TTI::TargetCostKind  CostKind,
TTI::OperandValueKind  Opd1Info,
TTI::OperandValueKind  Opd2Info,
TTI::OperandValueProperties  Opd1PropInfo,
TTI::OperandValueProperties  Opd2PropInfo,
ArrayRef< const Value * >  Args,
const Instruction CxtI = nullptr 
) const
inline

◆ getArithmeticReductionCost()

InstructionCost llvm::TargetTransformInfoImplBase::getArithmeticReductionCost ( unsigned  ,
VectorType ,
bool  ,
TTI::TargetCostKind   
) const
inline

Definition at line 623 of file TargetTransformInfoImpl.h.

◆ getAssumedAddrSpace()

unsigned llvm::TargetTransformInfoImplBase::getAssumedAddrSpace ( const Value V) const
inline

Definition at line 109 of file TargetTransformInfoImpl.h.

◆ getAtomicMemIntrinsicMaxElementSize()

unsigned llvm::TargetTransformInfoImplBase::getAtomicMemIntrinsicMaxElementSize ( ) const
inline

Definition at line 647 of file TargetTransformInfoImpl.h.

◆ getCacheAssociativity()

llvm::Optional<unsigned> llvm::TargetTransformInfoImplBase::getCacheAssociativity ( TargetTransformInfo::CacheLevel  Level) const
inline

◆ getCacheLineSize()

unsigned llvm::TargetTransformInfoImplBase::getCacheLineSize ( ) const
inline

Definition at line 412 of file TargetTransformInfoImpl.h.

◆ getCacheSize()

llvm::Optional<unsigned> llvm::TargetTransformInfoImplBase::getCacheSize ( TargetTransformInfo::CacheLevel  Level) const
inline

◆ getCallInstrCost()

InstructionCost llvm::TargetTransformInfoImplBase::getCallInstrCost ( Function F,
Type RetTy,
ArrayRef< Type * >  Tys,
TTI::TargetCostKind  CostKind 
) const
inline

Definition at line 610 of file TargetTransformInfoImpl.h.

◆ getCastInstrCost()

InstructionCost llvm::TargetTransformInfoImplBase::getCastInstrCost ( unsigned  Opcode,
Type Dst,
Type Src,
TTI::CastContextHint  CCH,
TTI::TargetCostKind  CostKind,
const Instruction I 
) const
inline

◆ getCFInstrCost()

InstructionCost llvm::TargetTransformInfoImplBase::getCFInstrCost ( unsigned  Opcode,
TTI::TargetCostKind  CostKind,
const Instruction I = nullptr 
) const
inline

◆ getCmpSelInstrCost()

InstructionCost llvm::TargetTransformInfoImplBase::getCmpSelInstrCost ( unsigned  Opcode,
Type ValTy,
Type CondTy,
CmpInst::Predicate  VecPred,
TTI::TargetCostKind  CostKind,
const Instruction I 
) const
inline

◆ getConstantStrideStep()

const SCEVConstant* llvm::TargetTransformInfoImplBase::getConstantStrideStep ( ScalarEvolution SE,
const SCEV Ptr 
) const
inlineprotected

◆ getCostOfKeepingLiveOverCall()

unsigned llvm::TargetTransformInfoImplBase::getCostOfKeepingLiveOverCall ( ArrayRef< Type * >  Tys) const
inline

Definition at line 639 of file TargetTransformInfoImpl.h.

◆ getDataLayout()

const DataLayout& llvm::TargetTransformInfoImplBase::getDataLayout ( ) const
inline

◆ getEstimatedNumberOfCaseClusters()

unsigned llvm::TargetTransformInfoImplBase::getEstimatedNumberOfCaseClusters ( const SwitchInst SI,
unsigned &  JTSize,
ProfileSummaryInfo PSI,
BlockFrequencyInfo BFI 
) const
inline

Definition at line 63 of file TargetTransformInfoImpl.h.

References llvm::AMDGPUISD::BFI, and SI.

◆ getExtendedAddReductionCost()

InstructionCost llvm::TargetTransformInfoImplBase::getExtendedAddReductionCost ( bool  IsMLA,
bool  IsUnsigned,
Type ResTy,
VectorType Ty,
TTI::TargetCostKind  CostKind = TTI::TCK_RecipThroughput 
) const
inline

Definition at line 633 of file TargetTransformInfoImpl.h.

◆ getExtractWithExtendCost()

InstructionCost llvm::TargetTransformInfoImplBase::getExtractWithExtendCost ( unsigned  Opcode,
Type Dst,
VectorType VecTy,
unsigned  Index 
) const
inline

Definition at line 515 of file TargetTransformInfoImpl.h.

◆ getFlatAddressSpace()

unsigned llvm::TargetTransformInfoImplBase::getFlatAddressSpace ( ) const
inline

Definition at line 100 of file TargetTransformInfoImpl.h.

◆ getFPOpCost()

InstructionCost llvm::TargetTransformInfoImplBase::getFPOpCost ( Type Ty) const
inline

Definition at line 346 of file TargetTransformInfoImpl.h.

References llvm::TargetTransformInfo::TCC_Basic.

◆ getGatherScatterOpCost()

InstructionCost llvm::TargetTransformInfoImplBase::getGatherScatterOpCost ( unsigned  Opcode,
Type DataTy,
const Value Ptr,
bool  VariableMask,
Align  Alignment,
TTI::TargetCostKind  CostKind,
const Instruction I = nullptr 
) const
inline

Definition at line 555 of file TargetTransformInfoImpl.h.

◆ getGEPCost()

InstructionCost llvm::TargetTransformInfoImplBase::getGEPCost ( Type PointeeType,
const Value Ptr,
ArrayRef< const Value * >  Operands,
TTI::TargetCostKind  CostKind = TTI::TCK_SizeAndLatency 
) const
inline

Definition at line 51 of file TargetTransformInfoImpl.h.

◆ getGISelRematGlobalCost()

unsigned llvm::TargetTransformInfoImplBase::getGISelRematGlobalCost ( ) const
inline

Definition at line 747 of file TargetTransformInfoImpl.h.

◆ getInlinerVectorBonusPercent()

int llvm::TargetTransformInfoImplBase::getInlinerVectorBonusPercent ( ) const
inline

Definition at line 76 of file TargetTransformInfoImpl.h.

◆ getInliningThresholdMultiplier()

unsigned llvm::TargetTransformInfoImplBase::getInliningThresholdMultiplier ( ) const
inline

Definition at line 73 of file TargetTransformInfoImpl.h.

◆ getInterleavedMemoryOpCost()

unsigned llvm::TargetTransformInfoImplBase::getInterleavedMemoryOpCost ( unsigned  Opcode,
Type VecTy,
unsigned  Factor,
ArrayRef< unsigned >  Indices,
Align  Alignment,
unsigned  AddressSpace,
TTI::TargetCostKind  CostKind,
bool  UseMaskForCond,
bool  UseMaskForGaps 
) const
inline

Definition at line 563 of file TargetTransformInfoImpl.h.

◆ getIntImmCodeSizeCost()

int llvm::TargetTransformInfoImplBase::getIntImmCodeSizeCost ( unsigned  Opcode,
unsigned  Idx,
const APInt Imm,
Type Ty 
) const
inline

Definition at line 350 of file TargetTransformInfoImpl.h.

◆ getIntImmCost()

InstructionCost llvm::TargetTransformInfoImplBase::getIntImmCost ( const APInt Imm,
Type Ty,
TTI::TargetCostKind  CostKind 
) const
inline

◆ getIntImmCostInst()

InstructionCost llvm::TargetTransformInfoImplBase::getIntImmCostInst ( unsigned  Opcode,
unsigned  Idx,
const APInt Imm,
Type Ty,
TTI::TargetCostKind  CostKind,
Instruction Inst = nullptr 
) const
inline

◆ getIntImmCostIntrin()

InstructionCost llvm::TargetTransformInfoImplBase::getIntImmCostIntrin ( Intrinsic::ID  IID,
unsigned  Idx,
const APInt Imm,
Type Ty,
TTI::TargetCostKind  CostKind 
) const
inline

◆ getIntrinsicInstrCost()

InstructionCost llvm::TargetTransformInfoImplBase::getIntrinsicInstrCost ( const IntrinsicCostAttributes ICA,
TTI::TargetCostKind  CostKind 
) const
inline

◆ getLoadStoreVecRegBitWidth()

unsigned llvm::TargetTransformInfoImplBase::getLoadStoreVecRegBitWidth ( unsigned  AddrSpace) const
inline

Definition at line 702 of file TargetTransformInfoImpl.h.

◆ getLoadVectorFactor()

unsigned llvm::TargetTransformInfoImplBase::getLoadVectorFactor ( unsigned  VF,
unsigned  LoadSize,
unsigned  ChainSizeInBytes,
VectorType VecTy 
) const
inline

Definition at line 723 of file TargetTransformInfoImpl.h.

◆ getMaskedMemoryOpCost()

InstructionCost llvm::TargetTransformInfoImplBase::getMaskedMemoryOpCost ( unsigned  Opcode,
Type Src,
Align  Alignment,
unsigned  AddressSpace,
TTI::TargetCostKind  CostKind 
) const
inline

Definition at line 549 of file TargetTransformInfoImpl.h.

◆ getMaximumVF()

unsigned llvm::TargetTransformInfoImplBase::getMaximumVF ( unsigned  ElemWidth,
unsigned  Opcode 
) const
inline

Definition at line 404 of file TargetTransformInfoImpl.h.

◆ getMaxInterleaveFactor()

unsigned llvm::TargetTransformInfoImplBase::getMaxInterleaveFactor ( unsigned  VF) const
inline

Definition at line 446 of file TargetTransformInfoImpl.h.

◆ getMaxPrefetchIterationsAhead()

unsigned llvm::TargetTransformInfoImplBase::getMaxPrefetchIterationsAhead ( ) const
inline

Definition at line 443 of file TargetTransformInfoImpl.h.

◆ getMaxVScale()

Optional<unsigned> llvm::TargetTransformInfoImplBase::getMaxVScale ( ) const
inline

Definition at line 396 of file TargetTransformInfoImpl.h.

References llvm::None.

◆ getMemcpyCost()

InstructionCost llvm::TargetTransformInfoImplBase::getMemcpyCost ( const Instruction I) const
inline

◆ getMemcpyLoopLoweringType()

Type* llvm::TargetTransformInfoImplBase::getMemcpyLoopLoweringType ( LLVMContext Context,
Value Length,
unsigned  SrcAddrSpace,
unsigned  DestAddrSpace,
unsigned  SrcAlign,
unsigned  DestAlign 
) const
inline

Definition at line 661 of file TargetTransformInfoImpl.h.

References Context, and llvm::Type::getInt8Ty().

◆ getMemcpyLoopResidualLoweringType()

void llvm::TargetTransformInfoImplBase::getMemcpyLoopResidualLoweringType ( SmallVectorImpl< Type * > &  OpsOut,
LLVMContext Context,
unsigned  RemainingBytes,
unsigned  SrcAddrSpace,
unsigned  DestAddrSpace,
unsigned  SrcAlign,
unsigned  DestAlign 
) const
inline

Definition at line 667 of file TargetTransformInfoImpl.h.

References Context, llvm::Type::getInt8Ty(), and i.

◆ getMemoryOpCost()

InstructionCost llvm::TargetTransformInfoImplBase::getMemoryOpCost ( unsigned  Opcode,
Type Src,
Align  Alignment,
unsigned  AddressSpace,
TTI::TargetCostKind  CostKind,
const Instruction I 
) const
inline

Definition at line 542 of file TargetTransformInfoImpl.h.

◆ getMinimumVF()

ElementCount llvm::TargetTransformInfoImplBase::getMinimumVF ( unsigned  ElemWidth,
bool  IsScalable 
) const
inline

◆ getMinMaxReductionCost()

InstructionCost llvm::TargetTransformInfoImplBase::getMinMaxReductionCost ( VectorType ,
VectorType ,
bool  ,
bool  ,
TTI::TargetCostKind   
) const
inline

Definition at line 628 of file TargetTransformInfoImpl.h.

◆ getMinPrefetchStride()

unsigned llvm::TargetTransformInfoImplBase::getMinPrefetchStride ( unsigned  NumMemAccesses,
unsigned  NumStridedMemAccesses,
unsigned  NumPrefetches,
bool  HasCall 
) const
inline

Definition at line 438 of file TargetTransformInfoImpl.h.

◆ getMinVectorRegisterBitWidth()

unsigned llvm::TargetTransformInfoImplBase::getMinVectorRegisterBitWidth ( ) const
inline

Definition at line 394 of file TargetTransformInfoImpl.h.

◆ getNumberOfParts()

unsigned llvm::TargetTransformInfoImplBase::getNumberOfParts ( Type Tp) const
inline

Definition at line 616 of file TargetTransformInfoImpl.h.

◆ getNumberOfRegisters()

unsigned llvm::TargetTransformInfoImplBase::getNumberOfRegisters ( unsigned  ClassID) const
inline

◆ getOperandsScalarizationOverhead()

InstructionCost llvm::TargetTransformInfoImplBase::getOperandsScalarizationOverhead ( ArrayRef< const Value * >  Args,
ArrayRef< Type * >  Tys 
) const
inline

Definition at line 310 of file TargetTransformInfoImpl.h.

◆ getOrCreateResultFromMemIntrinsic()

Value* llvm::TargetTransformInfoImplBase::getOrCreateResultFromMemIntrinsic ( IntrinsicInst Inst,
Type ExpectedType 
) const
inline

Definition at line 656 of file TargetTransformInfoImpl.h.

◆ getPeelingPreferences()

void llvm::TargetTransformInfoImplBase::getPeelingPreferences ( Loop ,
ScalarEvolution ,
TTI::PeelingPreferences  
) const
inline

Definition at line 192 of file TargetTransformInfoImpl.h.

◆ getPopcntSupport()

TTI::PopcntSupportKind llvm::TargetTransformInfoImplBase::getPopcntSupport ( unsigned  IntTyWidthInBit) const
inline

◆ getPredictableBranchThreshold()

BranchProbability llvm::TargetTransformInfoImplBase::getPredictableBranchThreshold ( ) const
inline

Definition at line 88 of file TargetTransformInfoImpl.h.

◆ getPreferredAddressingMode()

TTI::AddressingModeKind llvm::TargetTransformInfoImplBase::getPreferredAddressingMode ( const Loop L,
ScalarEvolution SE 
) const
inline

Definition at line 227 of file TargetTransformInfoImpl.h.

References llvm::TargetTransformInfo::AMK_None.

◆ getPrefetchDistance()

unsigned llvm::TargetTransformInfoImplBase::getPrefetchDistance ( ) const
inline

Definition at line 437 of file TargetTransformInfoImpl.h.

◆ getRegisterBitWidth()

TypeSize llvm::TargetTransformInfoImplBase::getRegisterBitWidth ( TargetTransformInfo::RegisterKind  K) const
inline

◆ getRegisterClassForType()

unsigned llvm::TargetTransformInfoImplBase::getRegisterClassForType ( bool  Vector,
Type Ty = nullptr 
) const
inline

Definition at line 375 of file TargetTransformInfoImpl.h.

References Vector.

◆ getRegisterClassName()

const char* llvm::TargetTransformInfoImplBase::getRegisterClassName ( unsigned  ClassID) const
inline

Definition at line 379 of file TargetTransformInfoImpl.h.

◆ getRegUsageForType()

unsigned llvm::TargetTransformInfoImplBase::getRegUsageForType ( Type Ty) const
inline

Definition at line 294 of file TargetTransformInfoImpl.h.

◆ getScalarizationOverhead()

InstructionCost llvm::TargetTransformInfoImplBase::getScalarizationOverhead ( VectorType Ty,
const APInt DemandedElts,
bool  Insert,
bool  Extract 
) const
inline

Definition at line 304 of file TargetTransformInfoImpl.h.

◆ getScalingFactorCost()

InstructionCost llvm::TargetTransformInfoImplBase::getScalingFactorCost ( Type Ty,
GlobalValue BaseGV,
int64_t  BaseOffset,
bool  HasBaseReg,
int64_t  Scale,
unsigned  AddrSpace 
) const
inline

Definition at line 273 of file TargetTransformInfoImpl.h.

◆ getShuffleCost()

InstructionCost llvm::TargetTransformInfoImplBase::getShuffleCost ( TTI::ShuffleKind  Kind,
VectorType Ty,
ArrayRef< int Mask,
int  Index,
VectorType SubTp 
) const
inline

Definition at line 471 of file TargetTransformInfoImpl.h.

◆ getStoreVectorFactor()

unsigned llvm::TargetTransformInfoImplBase::getStoreVectorFactor ( unsigned  VF,
unsigned  StoreSize,
unsigned  ChainSizeInBytes,
VectorType VecTy 
) const
inline

Definition at line 729 of file TargetTransformInfoImpl.h.

◆ getTgtMemIntrinsic()

bool llvm::TargetTransformInfoImplBase::getTgtMemIntrinsic ( IntrinsicInst Inst,
MemIntrinsicInfo Info 
) const
inline

Definition at line 643 of file TargetTransformInfoImpl.h.

◆ getUnrollingPreferences()

void llvm::TargetTransformInfoImplBase::getUnrollingPreferences ( Loop ,
ScalarEvolution ,
TTI::UnrollingPreferences  
) const
inline

Definition at line 189 of file TargetTransformInfoImpl.h.

◆ getVectorInstrCost()

InstructionCost llvm::TargetTransformInfoImplBase::getVectorInstrCost ( unsigned  Opcode,
Type Val,
unsigned  Index 
) const
inline

Definition at line 537 of file TargetTransformInfoImpl.h.

◆ getVPLegalizationStrategy()

TargetTransformInfo::VPLegalization llvm::TargetTransformInfoImplBase::getVPLegalizationStrategy ( const VPIntrinsic PI) const
inline

◆ hasActiveVectorLength()

bool llvm::TargetTransformInfoImplBase::hasActiveVectorLength ( ) const
inline

Definition at line 751 of file TargetTransformInfoImpl.h.

◆ hasBranchDivergence()

bool llvm::TargetTransformInfoImplBase::hasBranchDivergence ( ) const
inline

Definition at line 92 of file TargetTransformInfoImpl.h.

◆ hasDivRemOp()

bool llvm::TargetTransformInfoImplBase::hasDivRemOp ( Type DataType,
bool  IsSigned 
) const
inline

Definition at line 265 of file TargetTransformInfoImpl.h.

◆ hasVolatileVariant()

bool llvm::TargetTransformInfoImplBase::hasVolatileVariant ( Instruction I,
unsigned  AddrSpace 
) const
inline

Definition at line 267 of file TargetTransformInfoImpl.h.

◆ haveFastSqrt()

bool llvm::TargetTransformInfoImplBase::haveFastSqrt ( Type Ty) const
inline

Definition at line 342 of file TargetTransformInfoImpl.h.

◆ instCombineIntrinsic()

Optional<Instruction *> llvm::TargetTransformInfoImplBase::instCombineIntrinsic ( InstCombiner IC,
IntrinsicInst II 
) const
inline

◆ isAlwaysUniform()

bool llvm::TargetTransformInfoImplBase::isAlwaysUniform ( const Value V) const
inline

Definition at line 98 of file TargetTransformInfoImpl.h.

◆ isConstantStridedAccessLessThan()

bool llvm::TargetTransformInfoImplBase::isConstantStridedAccessLessThan ( ScalarEvolution SE,
const SCEV Ptr,
int64_t  MergeDistance 
) const
inlineprotected

◆ isFCmpOrdCheaperThanFCmpZero()

bool llvm::TargetTransformInfoImplBase::isFCmpOrdCheaperThanFCmpZero ( Type Ty) const
inline

Definition at line 344 of file TargetTransformInfoImpl.h.

◆ isFPVectorizationPotentiallyUnsafe()

bool llvm::TargetTransformInfoImplBase::isFPVectorizationPotentiallyUnsafe ( ) const
inline

Definition at line 330 of file TargetTransformInfoImpl.h.

◆ isHardwareLoopProfitable()

bool llvm::TargetTransformInfoImplBase::isHardwareLoopProfitable ( Loop L,
ScalarEvolution SE,
AssumptionCache AC,
TargetLibraryInfo LibInfo,
HardwareLoopInfo HWLoopInfo 
) const
inline

◆ isIndexedLoadLegal()

bool llvm::TargetTransformInfoImplBase::isIndexedLoadLegal ( TTI::MemIndexedMode  Mode,
Type Ty,
const DataLayout DL 
) const
inline

Definition at line 692 of file TargetTransformInfoImpl.h.

◆ isIndexedStoreLegal()

bool llvm::TargetTransformInfoImplBase::isIndexedStoreLegal ( TTI::MemIndexedMode  Mode,
Type Ty,
const DataLayout DL 
) const
inline

Definition at line 697 of file TargetTransformInfoImpl.h.

◆ isLegalAddImmediate()

bool llvm::TargetTransformInfoImplBase::isLegalAddImmediate ( int64_t  Imm) const
inline

Definition at line 195 of file TargetTransformInfoImpl.h.

◆ isLegalAddressingMode()

bool llvm::TargetTransformInfoImplBase::isLegalAddressingMode ( Type Ty,
GlobalValue BaseGV,
int64_t  BaseOffset,
bool  HasBaseReg,
int64_t  Scale,
unsigned  AddrSpace,
Instruction I = nullptr 
) const
inline

Definition at line 199 of file TargetTransformInfoImpl.h.

◆ isLegalICmpImmediate()

bool llvm::TargetTransformInfoImplBase::isLegalICmpImmediate ( int64_t  Imm) const
inline

Definition at line 197 of file TargetTransformInfoImpl.h.

◆ isLegalMaskedCompressStore()

bool llvm::TargetTransformInfoImplBase::isLegalMaskedCompressStore ( Type DataType) const
inline

Definition at line 261 of file TargetTransformInfoImpl.h.

◆ isLegalMaskedExpandLoad()

bool llvm::TargetTransformInfoImplBase::isLegalMaskedExpandLoad ( Type DataType) const
inline

Definition at line 263 of file TargetTransformInfoImpl.h.

◆ isLegalMaskedGather()

bool llvm::TargetTransformInfoImplBase::isLegalMaskedGather ( Type DataType,
Align  Alignment 
) const
inline

Definition at line 257 of file TargetTransformInfoImpl.h.

◆ isLegalMaskedLoad()

bool llvm::TargetTransformInfoImplBase::isLegalMaskedLoad ( Type DataType,
Align  Alignment 
) const
inline

Definition at line 235 of file TargetTransformInfoImpl.h.

◆ isLegalMaskedScatter()

bool llvm::TargetTransformInfoImplBase::isLegalMaskedScatter ( Type DataType,
Align  Alignment 
) const
inline

Definition at line 253 of file TargetTransformInfoImpl.h.

◆ isLegalMaskedStore()

bool llvm::TargetTransformInfoImplBase::isLegalMaskedStore ( Type DataType,
Align  Alignment 
) const
inline

Definition at line 231 of file TargetTransformInfoImpl.h.

◆ isLegalNTLoad()

bool llvm::TargetTransformInfoImplBase::isLegalNTLoad ( Type DataType,
Align  Alignment 
) const
inline

Definition at line 246 of file TargetTransformInfoImpl.h.

References DL, and llvm::isPowerOf2_32().

◆ isLegalNTStore()

bool llvm::TargetTransformInfoImplBase::isLegalNTStore ( Type DataType,
Align  Alignment 
) const
inline

Definition at line 239 of file TargetTransformInfoImpl.h.

References DL, and llvm::isPowerOf2_32().

Referenced by llvm::AArch64TTIImpl::isLegalNTStore().

◆ isLegalToVectorizeLoad()

bool llvm::TargetTransformInfoImplBase::isLegalToVectorizeLoad ( LoadInst LI) const
inline

Definition at line 704 of file TargetTransformInfoImpl.h.

◆ isLegalToVectorizeLoadChain()

bool llvm::TargetTransformInfoImplBase::isLegalToVectorizeLoadChain ( unsigned  ChainSizeInBytes,
Align  Alignment,
unsigned  AddrSpace 
) const
inline

Definition at line 708 of file TargetTransformInfoImpl.h.

◆ isLegalToVectorizeReduction()

bool llvm::TargetTransformInfoImplBase::isLegalToVectorizeReduction ( RecurrenceDescriptor  RdxDesc,
ElementCount  VF 
) const
inline

Definition at line 718 of file TargetTransformInfoImpl.h.

◆ isLegalToVectorizeStore()

bool llvm::TargetTransformInfoImplBase::isLegalToVectorizeStore ( StoreInst SI) const
inline

Definition at line 706 of file TargetTransformInfoImpl.h.

◆ isLegalToVectorizeStoreChain()

bool llvm::TargetTransformInfoImplBase::isLegalToVectorizeStoreChain ( unsigned  ChainSizeInBytes,
Align  Alignment,
unsigned  AddrSpace 
) const
inline

Definition at line 713 of file TargetTransformInfoImpl.h.

◆ isLoweredToCall()

bool llvm::TargetTransformInfoImplBase::isLoweredToCall ( const Function F) const
inline

◆ isLSRCostLess()

bool llvm::TargetTransformInfoImplBase::isLSRCostLess ( TTI::LSRCost C1,
TTI::LSRCost C2 
) const
inline

◆ isNoopAddrSpaceCast()

bool llvm::TargetTransformInfoImplBase::isNoopAddrSpaceCast ( unsigned  ,
unsigned   
) const
inline

Definition at line 107 of file TargetTransformInfoImpl.h.

◆ isNumRegsMajorCostOfLSR()

bool llvm::TargetTransformInfoImplBase::isNumRegsMajorCostOfLSR ( ) const
inline

◆ isProfitableLSRChainElement()

bool llvm::TargetTransformInfoImplBase::isProfitableLSRChainElement ( Instruction I) const
inline

◆ isProfitableToHoist()

bool llvm::TargetTransformInfoImplBase::isProfitableToHoist ( Instruction I) const
inline

Definition at line 288 of file TargetTransformInfoImpl.h.

◆ isSourceOfDivergence()

bool llvm::TargetTransformInfoImplBase::isSourceOfDivergence ( const Value V) const
inline

Definition at line 96 of file TargetTransformInfoImpl.h.

◆ isStridedAccess()

bool llvm::TargetTransformInfoImplBase::isStridedAccess ( const SCEV Ptr) const
inlineprotected

◆ isTruncateFree()

bool llvm::TargetTransformInfoImplBase::isTruncateFree ( Type Ty1,
Type Ty2 
) const
inline

Definition at line 286 of file TargetTransformInfoImpl.h.

◆ isTypeLegal()

bool llvm::TargetTransformInfoImplBase::isTypeLegal ( Type Ty) const
inline

Definition at line 292 of file TargetTransformInfoImpl.h.

◆ LSRWithInstrQueries()

bool llvm::TargetTransformInfoImplBase::LSRWithInstrQueries ( ) const
inline

Definition at line 284 of file TargetTransformInfoImpl.h.

◆ minRequiredElementSize()

unsigned llvm::TargetTransformInfoImplBase::minRequiredElementSize ( const Value Val,
bool &  isSigned 
) const
inlineprotected

◆ preferInLoopReduction()

bool llvm::TargetTransformInfoImplBase::preferInLoopReduction ( unsigned  Opcode,
Type Ty,
TTI::ReductionFlags  Flags 
) const
inline

Definition at line 735 of file TargetTransformInfoImpl.h.

◆ preferPredicatedReductionSelect()

bool llvm::TargetTransformInfoImplBase::preferPredicatedReductionSelect ( unsigned  Opcode,
Type Ty,
TTI::ReductionFlags  Flags 
) const
inline

Definition at line 740 of file TargetTransformInfoImpl.h.

◆ preferPredicateOverEpilogue()

bool llvm::TargetTransformInfoImplBase::preferPredicateOverEpilogue ( Loop L,
LoopInfo LI,
ScalarEvolution SE,
AssumptionCache AC,
TargetLibraryInfo TLI,
DominatorTree DT,
const LoopAccessInfo LAI 
) const
inline

◆ prefersVectorizedAddressing()

bool llvm::TargetTransformInfoImplBase::prefersVectorizedAddressing ( ) const
inline

Definition at line 271 of file TargetTransformInfoImpl.h.

◆ rewriteIntrinsicWithAddressSpace()

Value* llvm::TargetTransformInfoImplBase::rewriteIntrinsicWithAddressSpace ( IntrinsicInst II,
Value OldV,
Value NewV 
) const
inline

Definition at line 111 of file TargetTransformInfoImpl.h.

◆ shouldBuildLookupTables()

bool llvm::TargetTransformInfoImplBase::shouldBuildLookupTables ( ) const
inline

Definition at line 296 of file TargetTransformInfoImpl.h.

◆ shouldBuildLookupTablesForConstant()

bool llvm::TargetTransformInfoImplBase::shouldBuildLookupTablesForConstant ( Constant C) const
inline

Definition at line 298 of file TargetTransformInfoImpl.h.

◆ shouldBuildRelLookupTables()

bool llvm::TargetTransformInfoImplBase::shouldBuildRelLookupTables ( ) const
inline

Definition at line 300 of file TargetTransformInfoImpl.h.

◆ shouldConsiderAddressTypePromotion()

bool llvm::TargetTransformInfoImplBase::shouldConsiderAddressTypePromotion ( const Instruction I,
bool &  AllowPromotionWithoutCommonHeader 
) const
inline

Definition at line 406 of file TargetTransformInfoImpl.h.

◆ shouldExpandReduction()

bool llvm::TargetTransformInfoImplBase::shouldExpandReduction ( const IntrinsicInst II) const
inline

Definition at line 745 of file TargetTransformInfoImpl.h.

◆ shouldMaximizeVectorBandwidth()

bool llvm::TargetTransformInfoImplBase::shouldMaximizeVectorBandwidth ( ) const
inline

Definition at line 398 of file TargetTransformInfoImpl.h.

◆ simplifyDemandedUseBitsIntrinsic()

Optional<Value *> llvm::TargetTransformInfoImplBase::simplifyDemandedUseBitsIntrinsic ( InstCombiner IC,
IntrinsicInst II,
APInt  DemandedMask,
KnownBits Known,
bool &  KnownBitsComputed 
) const
inline

◆ simplifyDemandedVectorEltsIntrinsic()

Optional<Value *> llvm::TargetTransformInfoImplBase::simplifyDemandedVectorEltsIntrinsic ( InstCombiner IC,
IntrinsicInst II,
APInt  DemandedElts,
APInt UndefElts,
APInt UndefElts2,
APInt UndefElts3,
std::function< void(Instruction *, unsigned, APInt, APInt &)>  SimplifyAndSetOp 
) const
inline

◆ supportsEfficientVectorElementLoadStore()

bool llvm::TargetTransformInfoImplBase::supportsEfficientVectorElementLoadStore ( ) const
inline

Definition at line 315 of file TargetTransformInfoImpl.h.

◆ supportsScalableVectors()

bool llvm::TargetTransformInfoImplBase::supportsScalableVectors ( ) const
inline

Definition at line 749 of file TargetTransformInfoImpl.h.

◆ useAA()

bool llvm::TargetTransformInfoImplBase::useAA ( ) const
inline

Definition at line 290 of file TargetTransformInfoImpl.h.

◆ useColdCCForColdCall()

bool llvm::TargetTransformInfoImplBase::useColdCCForColdCall ( Function F) const
inline

Definition at line 302 of file TargetTransformInfoImpl.h.

◆ useGPUDivergenceAnalysis()

bool llvm::TargetTransformInfoImplBase::useGPUDivergenceAnalysis ( ) const
inline

Definition at line 94 of file TargetTransformInfoImpl.h.

Member Data Documentation

◆ DL

const DataLayout& llvm::TargetTransformInfoImplBase::DL
protected

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