| 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 |