Lines Matching refs:TargetTransformInfo

202 TargetTransformInfo::TargetTransformInfo(const DataLayout &DL)  in TargetTransformInfo()  function in TargetTransformInfo
205 TargetTransformInfo::~TargetTransformInfo() = default;
207 TargetTransformInfo::TargetTransformInfo(TargetTransformInfo &&Arg) in TargetTransformInfo() function in TargetTransformInfo
210 TargetTransformInfo &TargetTransformInfo::operator=(TargetTransformInfo &&RHS) { in operator =()
215 unsigned TargetTransformInfo::getInliningThresholdMultiplier() const { in getInliningThresholdMultiplier()
220 TargetTransformInfo::getInliningCostBenefitAnalysisSavingsMultiplier() const { in getInliningCostBenefitAnalysisSavingsMultiplier()
225 TargetTransformInfo::getInliningCostBenefitAnalysisProfitableMultiplier() in getInliningCostBenefitAnalysisProfitableMultiplier()
231 TargetTransformInfo::adjustInliningThreshold(const CallBase *CB) const { in adjustInliningThreshold()
235 unsigned TargetTransformInfo::getCallerAllocaCost(const CallBase *CB, in getCallerAllocaCost()
240 int TargetTransformInfo::getInlinerVectorBonusPercent() const { in getInlinerVectorBonusPercent()
244 InstructionCost TargetTransformInfo::getGEPCost( in getGEPCost()
250 InstructionCost TargetTransformInfo::getPointersChainCost( in getPointersChainCost()
259 unsigned TargetTransformInfo::getEstimatedNumberOfCaseClusters( in getEstimatedNumberOfCaseClusters()
266 TargetTransformInfo::getInstructionCost(const User *U, in getInstructionCost()
275 BranchProbability TargetTransformInfo::getPredictableBranchThreshold() const { in getPredictableBranchThreshold()
281 bool TargetTransformInfo::hasBranchDivergence(const Function *F) const { in hasBranchDivergence()
285 bool TargetTransformInfo::isSourceOfDivergence(const Value *V) const { in isSourceOfDivergence()
289 bool llvm::TargetTransformInfo::isAlwaysUniform(const Value *V) const { in isAlwaysUniform()
293 bool llvm::TargetTransformInfo::isValidAddrSpaceCast(unsigned FromAS, in isValidAddrSpaceCast()
298 bool llvm::TargetTransformInfo::addrspacesMayAlias(unsigned FromAS, in addrspacesMayAlias()
303 unsigned TargetTransformInfo::getFlatAddressSpace() const { in getFlatAddressSpace()
307 bool TargetTransformInfo::collectFlatAddressOperands( in collectFlatAddressOperands()
312 bool TargetTransformInfo::isNoopAddrSpaceCast(unsigned FromAS, in isNoopAddrSpaceCast()
317 bool TargetTransformInfo::canHaveNonUndefGlobalInitializerInAddressSpace( in canHaveNonUndefGlobalInitializerInAddressSpace()
322 unsigned TargetTransformInfo::getAssumedAddrSpace(const Value *V) const { in getAssumedAddrSpace()
326 bool TargetTransformInfo::isSingleThreaded() const { in isSingleThreaded()
331 TargetTransformInfo::getPredicatedAddrSpace(const Value *V) const { in getPredicatedAddrSpace()
335 Value *TargetTransformInfo::rewriteIntrinsicWithAddressSpace( in rewriteIntrinsicWithAddressSpace()
340 bool TargetTransformInfo::isLoweredToCall(const Function *F) const { in isLoweredToCall()
344 bool TargetTransformInfo::isHardwareLoopProfitable( in isHardwareLoopProfitable()
350 bool TargetTransformInfo::preferPredicateOverEpilogue( in preferPredicateOverEpilogue()
355 TailFoldingStyle TargetTransformInfo::getPreferredTailFoldingStyle( in getPreferredTailFoldingStyle()
361 TargetTransformInfo::instCombineIntrinsic(InstCombiner &IC, in instCombineIntrinsic()
366 std::optional<Value *> TargetTransformInfo::simplifyDemandedUseBitsIntrinsic( in simplifyDemandedUseBitsIntrinsic()
373 std::optional<Value *> TargetTransformInfo::simplifyDemandedVectorEltsIntrinsic( in simplifyDemandedVectorEltsIntrinsic()
383 void TargetTransformInfo::getUnrollingPreferences( in getUnrollingPreferences()
389 void TargetTransformInfo::getPeelingPreferences(Loop *L, ScalarEvolution &SE, in getPeelingPreferences()
394 bool TargetTransformInfo::isLegalAddImmediate(int64_t Imm) const { in isLegalAddImmediate()
398 bool TargetTransformInfo::isLegalICmpImmediate(int64_t Imm) const { in isLegalICmpImmediate()
402 bool TargetTransformInfo::isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, in isLegalAddressingMode()
411 bool TargetTransformInfo::isLSRCostLess(const LSRCost &C1, in isLSRCostLess()
416 bool TargetTransformInfo::isNumRegsMajorCostOfLSR() const { in isNumRegsMajorCostOfLSR()
420 bool TargetTransformInfo::shouldFoldTerminatingConditionAfterLSR() const { in shouldFoldTerminatingConditionAfterLSR()
424 bool TargetTransformInfo::isProfitableLSRChainElement(Instruction *I) const { in isProfitableLSRChainElement()
428 bool TargetTransformInfo::canMacroFuseCmp() const { in canMacroFuseCmp()
432 bool TargetTransformInfo::canSaveCmp(Loop *L, BranchInst **BI, in canSaveCmp()
440 TargetTransformInfo::getPreferredAddressingMode(const Loop *L, in getPreferredAddressingMode()
445 bool TargetTransformInfo::isLegalMaskedStore(Type *DataType, in isLegalMaskedStore()
450 bool TargetTransformInfo::isLegalMaskedLoad(Type *DataType, in isLegalMaskedLoad()
455 bool TargetTransformInfo::isLegalNTStore(Type *DataType, in isLegalNTStore()
460 bool TargetTransformInfo::isLegalNTLoad(Type *DataType, Align Alignment) const { in isLegalNTLoad()
464 bool TargetTransformInfo::isLegalBroadcastLoad(Type *ElementTy, in isLegalBroadcastLoad()
469 bool TargetTransformInfo::isLegalMaskedGather(Type *DataType, in isLegalMaskedGather()
474 bool TargetTransformInfo::isLegalAltInstr( in isLegalAltInstr()
480 bool TargetTransformInfo::isLegalMaskedScatter(Type *DataType, in isLegalMaskedScatter()
485 bool TargetTransformInfo::forceScalarizeMaskedGather(VectorType *DataType, in forceScalarizeMaskedGather()
490 bool TargetTransformInfo::forceScalarizeMaskedScatter(VectorType *DataType, in forceScalarizeMaskedScatter()
495 bool TargetTransformInfo::isLegalMaskedCompressStore(Type *DataType) const { in isLegalMaskedCompressStore()
499 bool TargetTransformInfo::isLegalMaskedExpandLoad(Type *DataType) const { in isLegalMaskedExpandLoad()
503 bool TargetTransformInfo::enableOrderedReductions() const { in enableOrderedReductions()
507 bool TargetTransformInfo::hasDivRemOp(Type *DataType, bool IsSigned) const { in hasDivRemOp()
511 bool TargetTransformInfo::hasVolatileVariant(Instruction *I, in hasVolatileVariant()
516 bool TargetTransformInfo::prefersVectorizedAddressing() const { in prefersVectorizedAddressing()
520 InstructionCost TargetTransformInfo::getScalingFactorCost( in getScalingFactorCost()
529 bool TargetTransformInfo::LSRWithInstrQueries() const { in LSRWithInstrQueries()
533 bool TargetTransformInfo::isTruncateFree(Type *Ty1, Type *Ty2) const { in isTruncateFree()
537 bool TargetTransformInfo::isProfitableToHoist(Instruction *I) const { in isProfitableToHoist()
541 bool TargetTransformInfo::useAA() const { return TTIImpl->useAA(); } in useAA()
543 bool TargetTransformInfo::isTypeLegal(Type *Ty) const { in isTypeLegal()
547 unsigned TargetTransformInfo::getRegUsageForType(Type *Ty) const { in getRegUsageForType()
551 bool TargetTransformInfo::shouldBuildLookupTables() const { in shouldBuildLookupTables()
555 bool TargetTransformInfo::shouldBuildLookupTablesForConstant( in shouldBuildLookupTablesForConstant()
560 bool TargetTransformInfo::shouldBuildRelLookupTables() const { in shouldBuildRelLookupTables()
564 bool TargetTransformInfo::useColdCCForColdCall(Function &F) const { in useColdCCForColdCall()
568 InstructionCost TargetTransformInfo::getScalarizationOverhead( in getScalarizationOverhead()
575 InstructionCost TargetTransformInfo::getOperandsScalarizationOverhead( in getOperandsScalarizationOverhead()
581 bool TargetTransformInfo::supportsEfficientVectorElementLoadStore() const { in supportsEfficientVectorElementLoadStore()
585 bool TargetTransformInfo::supportsTailCalls() const { in supportsTailCalls()
589 bool TargetTransformInfo::supportsTailCallFor(const CallBase *CB) const { in supportsTailCallFor()
593 bool TargetTransformInfo::enableAggressiveInterleaving( in enableAggressiveInterleaving()
598 TargetTransformInfo::MemCmpExpansionOptions
599 TargetTransformInfo::enableMemCmpExpansion(bool OptSize, bool IsZeroCmp) const { in enableMemCmpExpansion()
603 bool TargetTransformInfo::enableSelectOptimize() const { in enableSelectOptimize()
607 bool TargetTransformInfo::shouldTreatInstructionLikeSelect( in shouldTreatInstructionLikeSelect()
612 bool TargetTransformInfo::enableInterleavedAccessVectorization() const { in enableInterleavedAccessVectorization()
616 bool TargetTransformInfo::enableMaskedInterleavedAccessVectorization() const { in enableMaskedInterleavedAccessVectorization()
620 bool TargetTransformInfo::isFPVectorizationPotentiallyUnsafe() const { in isFPVectorizationPotentiallyUnsafe()
625 TargetTransformInfo::allowsMisalignedMemoryAccesses(LLVMContext &Context, in allowsMisalignedMemoryAccesses()
634 TargetTransformInfo::PopcntSupportKind
635 TargetTransformInfo::getPopcntSupport(unsigned IntTyWidthInBit) const { in getPopcntSupport()
639 bool TargetTransformInfo::haveFastSqrt(Type *Ty) const { in haveFastSqrt()
643 bool TargetTransformInfo::isExpensiveToSpeculativelyExecute( in isExpensiveToSpeculativelyExecute()
648 bool TargetTransformInfo::isFCmpOrdCheaperThanFCmpZero(Type *Ty) const { in isFCmpOrdCheaperThanFCmpZero()
652 InstructionCost TargetTransformInfo::getFPOpCost(Type *Ty) const { in getFPOpCost()
658 InstructionCost TargetTransformInfo::getIntImmCodeSizeCost(unsigned Opcode, in getIntImmCodeSizeCost()
668 TargetTransformInfo::getIntImmCost(const APInt &Imm, Type *Ty, in getIntImmCost()
675 InstructionCost TargetTransformInfo::getIntImmCostInst( in getIntImmCostInst()
685 TargetTransformInfo::getIntImmCostIntrin(Intrinsic::ID IID, unsigned Idx, in getIntImmCostIntrin()
694 bool TargetTransformInfo::preferToKeepConstantsAttached( in preferToKeepConstantsAttached()
699 unsigned TargetTransformInfo::getNumberOfRegisters(unsigned ClassID) const { in getNumberOfRegisters()
703 unsigned TargetTransformInfo::getRegisterClassForType(bool Vector, in getRegisterClassForType()
708 const char *TargetTransformInfo::getRegisterClassName(unsigned ClassID) const { in getRegisterClassName()
712 TypeSize TargetTransformInfo::getRegisterBitWidth( in getRegisterBitWidth()
713 TargetTransformInfo::RegisterKind K) const { in getRegisterBitWidth()
717 unsigned TargetTransformInfo::getMinVectorRegisterBitWidth() const { in getMinVectorRegisterBitWidth()
721 std::optional<unsigned> TargetTransformInfo::getMaxVScale() const { in getMaxVScale()
725 std::optional<unsigned> TargetTransformInfo::getVScaleForTuning() const { in getVScaleForTuning()
729 bool TargetTransformInfo::isVScaleKnownToBeAPowerOfTwo() const { in isVScaleKnownToBeAPowerOfTwo()
733 bool TargetTransformInfo::shouldMaximizeVectorBandwidth( in shouldMaximizeVectorBandwidth()
734 TargetTransformInfo::RegisterKind K) const { in shouldMaximizeVectorBandwidth()
738 ElementCount TargetTransformInfo::getMinimumVF(unsigned ElemWidth, in getMinimumVF()
743 unsigned TargetTransformInfo::getMaximumVF(unsigned ElemWidth, in getMaximumVF()
748 unsigned TargetTransformInfo::getStoreMinimumVF(unsigned VF, Type *ScalarMemTy, in getStoreMinimumVF()
753 bool TargetTransformInfo::shouldConsiderAddressTypePromotion( in shouldConsiderAddressTypePromotion()
759 unsigned TargetTransformInfo::getCacheLineSize() const { in getCacheLineSize()
765 TargetTransformInfo::getCacheSize(CacheLevel Level) const { in getCacheSize()
770 TargetTransformInfo::getCacheAssociativity(CacheLevel Level) const { in getCacheAssociativity()
774 std::optional<unsigned> TargetTransformInfo::getMinPageSize() const { in getMinPageSize()
779 unsigned TargetTransformInfo::getPrefetchDistance() const { in getPrefetchDistance()
783 unsigned TargetTransformInfo::getMinPrefetchStride( in getMinPrefetchStride()
790 unsigned TargetTransformInfo::getMaxPrefetchIterationsAhead() const { in getMaxPrefetchIterationsAhead()
794 bool TargetTransformInfo::enableWritePrefetching() const { in enableWritePrefetching()
798 bool TargetTransformInfo::shouldPrefetchAddressSpace(unsigned AS) const { in shouldPrefetchAddressSpace()
802 unsigned TargetTransformInfo::getMaxInterleaveFactor(ElementCount VF) const { in getMaxInterleaveFactor()
806 TargetTransformInfo::OperandValueInfo
807 TargetTransformInfo::getOperandInfo(const Value *V) { in getOperandInfo()
867 InstructionCost TargetTransformInfo::getArithmeticInstrCost( in getArithmeticInstrCost()
879 InstructionCost TargetTransformInfo::getAltInstrCost( in getAltInstrCost()
888 InstructionCost TargetTransformInfo::getShuffleCost( in getShuffleCost()
899 TargetTransformInfo::getCastContextHint(const Instruction *I) { in getCastContextHint()
942 InstructionCost TargetTransformInfo::getCastInstrCost( in getCastInstrCost()
953 InstructionCost TargetTransformInfo::getExtractWithExtendCost( in getExtractWithExtendCost()
961 InstructionCost TargetTransformInfo::getCFInstrCost( in getCFInstrCost()
970 InstructionCost TargetTransformInfo::getCmpSelInstrCost( in getCmpSelInstrCost()
981 InstructionCost TargetTransformInfo::getVectorInstrCost( in getVectorInstrCost()
994 TargetTransformInfo::getVectorInstrCost(const Instruction &I, Type *Val, in getVectorInstrCost()
1005 InstructionCost TargetTransformInfo::getReplicationShuffleCost( in getReplicationShuffleCost()
1014 InstructionCost TargetTransformInfo::getMemoryOpCost( in getMemoryOpCost()
1026 InstructionCost TargetTransformInfo::getMaskedMemoryOpCost( in getMaskedMemoryOpCost()
1035 InstructionCost TargetTransformInfo::getGatherScatterOpCost( in getGatherScatterOpCost()
1044 InstructionCost TargetTransformInfo::getInterleavedMemoryOpCost( in getInterleavedMemoryOpCost()
1056 TargetTransformInfo::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA, in getIntrinsicInstrCost()
1064 TargetTransformInfo::getCallInstrCost(Function *F, Type *RetTy, in getCallInstrCost()
1072 unsigned TargetTransformInfo::getNumberOfParts(Type *Tp) const { in getNumberOfParts()
1077 TargetTransformInfo::getAddressComputationCost(Type *Tp, ScalarEvolution *SE, in getAddressComputationCost()
1084 InstructionCost TargetTransformInfo::getMemcpyCost(const Instruction *I) const { in getMemcpyCost()
1090 uint64_t TargetTransformInfo::getMaxMemIntrinsicInlineSizeThreshold() const { in getMaxMemIntrinsicInlineSizeThreshold()
1094 InstructionCost TargetTransformInfo::getArithmeticReductionCost( in getArithmeticReductionCost()
1103 InstructionCost TargetTransformInfo::getMinMaxReductionCost( in getMinMaxReductionCost()
1112 InstructionCost TargetTransformInfo::getExtendedReductionCost( in getExtendedReductionCost()
1119 InstructionCost TargetTransformInfo::getMulAccReductionCost( in getMulAccReductionCost()
1126 TargetTransformInfo::getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) const { in getCostOfKeepingLiveOverCall()
1130 bool TargetTransformInfo::getTgtMemIntrinsic(IntrinsicInst *Inst, in getTgtMemIntrinsic()
1135 unsigned TargetTransformInfo::getAtomicMemIntrinsicMaxElementSize() const { in getAtomicMemIntrinsicMaxElementSize()
1139 Value *TargetTransformInfo::getOrCreateResultFromMemIntrinsic( in getOrCreateResultFromMemIntrinsic()
1144 Type *TargetTransformInfo::getMemcpyLoopLoweringType( in getMemcpyLoopLoweringType()
1153 void TargetTransformInfo::getMemcpyLoopResidualLoweringType( in getMemcpyLoopResidualLoweringType()
1163 bool TargetTransformInfo::areInlineCompatible(const Function *Caller, in areInlineCompatible()
1169 TargetTransformInfo::getInlineCallPenalty(const Function *F, in getInlineCallPenalty()
1175 bool TargetTransformInfo::areTypesABICompatible( in areTypesABICompatible()
1181 bool TargetTransformInfo::isIndexedLoadLegal(MemIndexedMode Mode, in isIndexedLoadLegal()
1186 bool TargetTransformInfo::isIndexedStoreLegal(MemIndexedMode Mode, in isIndexedStoreLegal()
1191 unsigned TargetTransformInfo::getLoadStoreVecRegBitWidth(unsigned AS) const { in getLoadStoreVecRegBitWidth()
1195 bool TargetTransformInfo::isLegalToVectorizeLoad(LoadInst *LI) const { in isLegalToVectorizeLoad()
1199 bool TargetTransformInfo::isLegalToVectorizeStore(StoreInst *SI) const { in isLegalToVectorizeStore()
1203 bool TargetTransformInfo::isLegalToVectorizeLoadChain( in isLegalToVectorizeLoadChain()
1209 bool TargetTransformInfo::isLegalToVectorizeStoreChain( in isLegalToVectorizeStoreChain()
1215 bool TargetTransformInfo::isLegalToVectorizeReduction( in isLegalToVectorizeReduction()
1220 bool TargetTransformInfo::isElementTypeLegalForScalableVector(Type *Ty) const { in isElementTypeLegalForScalableVector()
1224 unsigned TargetTransformInfo::getLoadVectorFactor(unsigned VF, in getLoadVectorFactor()
1231 unsigned TargetTransformInfo::getStoreVectorFactor(unsigned VF, in getStoreVectorFactor()
1238 bool TargetTransformInfo::preferInLoopReduction(unsigned Opcode, Type *Ty, in preferInLoopReduction()
1243 bool TargetTransformInfo::preferPredicatedReductionSelect( in preferPredicatedReductionSelect()
1248 bool TargetTransformInfo::preferEpilogueVectorization() const { in preferEpilogueVectorization()
1252 TargetTransformInfo::VPLegalization
1253 TargetTransformInfo::getVPLegalizationStrategy(const VPIntrinsic &VPI) const { in getVPLegalizationStrategy()
1257 bool TargetTransformInfo::hasArmWideBranch(bool Thumb) const { in hasArmWideBranch()
1261 unsigned TargetTransformInfo::getMaxNumArgs() const { in getMaxNumArgs()
1265 bool TargetTransformInfo::shouldExpandReduction(const IntrinsicInst *II) const { in shouldExpandReduction()
1269 unsigned TargetTransformInfo::getGISelRematGlobalCost() const { in getGISelRematGlobalCost()
1273 unsigned TargetTransformInfo::getMinTripCountTailFoldingThreshold() const { in getMinTripCountTailFoldingThreshold()
1277 bool TargetTransformInfo::supportsScalableVectors() const { in supportsScalableVectors()
1281 bool TargetTransformInfo::enableScalableVectorization() const { in enableScalableVectorization()
1285 bool TargetTransformInfo::hasActiveVectorLength(unsigned Opcode, Type *DataType, in hasActiveVectorLength()
1290 TargetTransformInfo::Concept::~Concept() = default;
1329 TargetTransformInfo &TargetTransformInfoWrapperPass::getTTI(const Function &F) { in getTTI()