allowsMisalignedMemoryAccesses(LLVMContext &Context, unsigned BitWidth, unsigned AddressSpace, unsigned Alignment, bool *Fast)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
areFunctionArgsABICompatible(const Function *Caller, const Function *Callee, SmallPtrSetImpl< Argument *> &Args) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
areInlineCompatible(const Function *Caller, const Function *Callee) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
canMacroFuseCmp()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableAggressiveInterleaving(bool LoopHasReductions)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableInterleavedAccessVectorization()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableMaskedInterleavedAccessVectorization()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
enableMemCmpExpansion(bool IsZeroCmp) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getAddressComputationCost(Type *Ty, ScalarEvolution *SE, const SCEV *Ptr)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getArithmeticInstrCost(unsigned Opcode, Type *Ty, OperandValueKind Opd1Info, OperandValueKind Opd2Info, OperandValueProperties Opd1PropInfo, OperandValueProperties Opd2PropInfo, ArrayRef< const Value *> Args)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getArithmeticReductionCost(unsigned Opcode, Type *Ty, bool IsPairwiseForm)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getAtomicMemIntrinsicMaxElementSize() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCacheAssociativity(CacheLevel Level)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCacheLineSize()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCacheSize(CacheLevel Level)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCallCost(FunctionType *FTy, int NumArgs)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCallCost(const Function *F, int NumArgs)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCallCost(const Function *F, ArrayRef< const Value *> Arguments)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCallInstrCost(Function *F, Type *RetTy, ArrayRef< Type *> Tys)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src, const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCFInstrCost(unsigned Opcode)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCmpSelInstrCost(unsigned Opcode, Type *ValTy, Type *CondTy, const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getCostOfKeepingLiveOverCall(ArrayRef< Type *> Tys)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getDataLayout() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getEstimatedNumberOfCaseClusters(const SwitchInst &SI, unsigned &JTSize)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getExtCost(const Instruction *I, const Value *Src)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getExtractWithExtendCost(unsigned Opcode, Type *Dst, VectorType *VecTy, unsigned Index)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getFlatAddressSpace()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getFPOpCost(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getGatherScatterOpCost(unsigned Opcode, Type *DataTy, Value *Ptr, bool VariableMask, unsigned Alignment)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getGEPCost(Type *PointeeType, const Value *Ptr, ArrayRef< const Value *> Operands)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInliningThresholdMultiplier()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInstructionLatency(const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor, ArrayRef< unsigned > Indices, unsigned Alignment, unsigned AddressSpace, bool UseMaskForCond=false, bool UseMaskForGaps=false)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCodeSizeCost(unsigned Opc, unsigned Idx, const APInt &Imm, Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCost(const APInt &Imm, Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCost(unsigned Opc, unsigned Idx, const APInt &Imm, Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm, Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntrinsicCost(Intrinsic::ID IID, Type *RetTy, ArrayRef< Type *> ParamTys)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntrinsicCost(Intrinsic::ID IID, Type *RetTy, ArrayRef< const Value *> Arguments)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy, ArrayRef< Type *> Tys, FastMathFlags FMF, unsigned ScalarizationCostPassed)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy, ArrayRef< Value *> Args, FastMathFlags FMF, unsigned VF)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getJumpBufAlignment()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getJumpBufSize()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getLoadStoreVecRegBitWidth(unsigned AddrSpace) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getLoadVectorFactor(unsigned VF, unsigned LoadSize, unsigned ChainSizeInBytes, VectorType *VecTy) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaskedMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment, unsigned AddressSpace)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaxInterleaveFactor(unsigned VF)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMaxPrefetchIterationsAhead()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMemcpyLoopLoweringType(LLVMContext &Context, Value *Length, unsigned SrcAlign, unsigned DestAlign) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMemcpyLoopResidualLoweringType(SmallVectorImpl< Type *> &OpsOut, LLVMContext &Context, unsigned RemainingBytes, unsigned SrcAlign, unsigned DestAlign) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment, unsigned AddressSpace, const Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinimumVF(unsigned ElemWidth) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinMaxReductionCost(Type *Ty, Type *CondTy, bool IsPairwiseForm, bool IsUnsigned)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinPrefetchStride()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getMinVectorRegisterBitWidth()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getNumberOfParts(Type *Tp)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getNumberOfRegisters(bool Vector)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getOperandsScalarizationOverhead(ArrayRef< const Value *> Args, unsigned VF)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getOperationCost(unsigned Opcode, Type *Ty, Type *OpTy)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst, Type *ExpectedType)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPopcntSupport(unsigned IntTyWidthInBit)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getPrefetchDistance()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getRegisterBitWidth(bool Vector) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getScalarizationOverhead(Type *Ty, bool Insert, bool Extract)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getShuffleCost(ShuffleKind Kind, Type *Tp, int Index, Type *SubTp)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getStoreVectorFactor(unsigned VF, unsigned StoreSize, unsigned ChainSizeInBytes, VectorType *VecTy) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
getTgtMemIntrinsic(IntrinsicInst *Inst, MemIntrinsicInfo &Info)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getUnrollingPreferences(Loop *L, ScalarEvolution &, UnrollingPreferences &UP)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getUserCost(const User *U, ArrayRef< const Value *> Operands)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
getVectorInstrCost(unsigned Opcode, Type *Val, unsigned Index)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasBranchDivergence()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasDivRemOp(Type *DataType, bool IsSigned)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
hasVolatileVariant(Instruction *I, unsigned AddrSpace)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
haveFastSqrt(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isAlwaysUniform(const Value *V)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isFCmpOrdCheaperThanFCmpZero(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isFPVectorizationPotentiallyUnsafe()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isIndexedLoadLegal(MemIndexedMode Mode, Type *Ty) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isIndexedStoreLegal(MemIndexedMode Mode, Type *Ty) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalAddImmediate(int64_t Imm)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset, bool HasBaseReg, int64_t Scale, unsigned AddrSpace, Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalICmpImmediate(int64_t Imm)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedGather(Type *DataType)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedLoad(Type *DataType)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedScatter(Type *DataType)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalMaskedStore(Type *DataType)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeLoad(LoadInst *LI) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeLoadChain(unsigned ChainSizeInBytes, unsigned Alignment, unsigned AddrSpace) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeStore(StoreInst *SI) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLegalToVectorizeStoreChain(unsigned ChainSizeInBytes, unsigned Alignment, unsigned AddrSpace) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLoweredToCall(const Function *F)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isLSRCostLess(TargetTransformInfo::LSRCost &C1, TargetTransformInfo::LSRCost &C2)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isProfitableToHoist(Instruction *I)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isSourceOfDivergence(const Value *V)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTruncateFree(Type *Ty1, Type *Ty2)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
isTypeLegal(Type *Ty)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
LSRWithInstrQueries()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
prefersVectorizedAddressing()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldBuildLookupTables()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldBuildLookupTablesForConstant(Constant *C)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldConsiderAddressTypePromotion(const Instruction &I, bool &AllowPromotionWithoutCommonHeader)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldExpandReduction(const IntrinsicInst *II) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldFavorPostInc() const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
shouldMaximizeVectorBandwidth(bool OptSize) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
supportsEfficientVectorElementLoadStore()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
useAA()=0 | llvm::TargetTransformInfo::Concept | pure virtual |
useColdCCForColdCall(Function &F)=0 | llvm::TargetTransformInfo::Concept | pure virtual |
useReductionIntrinsic(unsigned Opcode, Type *Ty, ReductionFlags) const =0 | llvm::TargetTransformInfo::Concept | pure virtual |
~Concept()=0 | llvm::TargetTransformInfo::Concept | pure virtual |