Lines Matching refs:TargetTransformInfo
203 TargetTransformInfo::TargetTransformInfo(const DataLayout &DL) in TargetTransformInfo() function in TargetTransformInfo
206 TargetTransformInfo::~TargetTransformInfo() = default;
208 TargetTransformInfo::TargetTransformInfo(TargetTransformInfo &&Arg) in TargetTransformInfo() function in TargetTransformInfo
211 TargetTransformInfo &TargetTransformInfo::operator=(TargetTransformInfo &&RHS) { in operator =()
216 unsigned TargetTransformInfo::getInliningThresholdMultiplier() const { in getInliningThresholdMultiplier()
221 TargetTransformInfo::getInliningCostBenefitAnalysisSavingsMultiplier() const { in getInliningCostBenefitAnalysisSavingsMultiplier()
226 TargetTransformInfo::getInliningCostBenefitAnalysisProfitableMultiplier() in getInliningCostBenefitAnalysisProfitableMultiplier()
232 TargetTransformInfo::adjustInliningThreshold(const CallBase *CB) const { in adjustInliningThreshold()
236 unsigned TargetTransformInfo::getCallerAllocaCost(const CallBase *CB, in getCallerAllocaCost()
241 int TargetTransformInfo::getInlinerVectorBonusPercent() const { in getInlinerVectorBonusPercent()
245 InstructionCost TargetTransformInfo::getGEPCost( in getGEPCost()
251 InstructionCost TargetTransformInfo::getPointersChainCost( in getPointersChainCost()
260 unsigned TargetTransformInfo::getEstimatedNumberOfCaseClusters( in getEstimatedNumberOfCaseClusters()
267 TargetTransformInfo::getInstructionCost(const User *U, in getInstructionCost()
276 BranchProbability TargetTransformInfo::getPredictableBranchThreshold() const { in getPredictableBranchThreshold()
282 InstructionCost TargetTransformInfo::getBranchMispredictPenalty() const { in getBranchMispredictPenalty()
286 bool TargetTransformInfo::hasBranchDivergence(const Function *F) const { in hasBranchDivergence()
290 bool TargetTransformInfo::isSourceOfDivergence(const Value *V) const { in isSourceOfDivergence()
294 bool llvm::TargetTransformInfo::isAlwaysUniform(const Value *V) const { in isAlwaysUniform()
298 bool llvm::TargetTransformInfo::isValidAddrSpaceCast(unsigned FromAS, in isValidAddrSpaceCast()
303 bool llvm::TargetTransformInfo::addrspacesMayAlias(unsigned FromAS, in addrspacesMayAlias()
308 unsigned TargetTransformInfo::getFlatAddressSpace() const { in getFlatAddressSpace()
312 bool TargetTransformInfo::collectFlatAddressOperands( in collectFlatAddressOperands()
317 bool TargetTransformInfo::isNoopAddrSpaceCast(unsigned FromAS, in isNoopAddrSpaceCast()
322 bool TargetTransformInfo::canHaveNonUndefGlobalInitializerInAddressSpace( in canHaveNonUndefGlobalInitializerInAddressSpace()
327 unsigned TargetTransformInfo::getAssumedAddrSpace(const Value *V) const { in getAssumedAddrSpace()
331 bool TargetTransformInfo::isSingleThreaded() const { in isSingleThreaded()
336 TargetTransformInfo::getPredicatedAddrSpace(const Value *V) const { in getPredicatedAddrSpace()
340 Value *TargetTransformInfo::rewriteIntrinsicWithAddressSpace( in rewriteIntrinsicWithAddressSpace()
345 bool TargetTransformInfo::isLoweredToCall(const Function *F) const { in isLoweredToCall()
349 bool TargetTransformInfo::isHardwareLoopProfitable( in isHardwareLoopProfitable()
355 bool TargetTransformInfo::preferPredicateOverEpilogue( in preferPredicateOverEpilogue()
360 TailFoldingStyle TargetTransformInfo::getPreferredTailFoldingStyle( in getPreferredTailFoldingStyle()
366 TargetTransformInfo::instCombineIntrinsic(InstCombiner &IC, in instCombineIntrinsic()
371 std::optional<Value *> TargetTransformInfo::simplifyDemandedUseBitsIntrinsic( in simplifyDemandedUseBitsIntrinsic()
378 std::optional<Value *> TargetTransformInfo::simplifyDemandedVectorEltsIntrinsic( in simplifyDemandedVectorEltsIntrinsic()
388 void TargetTransformInfo::getUnrollingPreferences( in getUnrollingPreferences()
394 void TargetTransformInfo::getPeelingPreferences(Loop *L, ScalarEvolution &SE, in getPeelingPreferences()
399 bool TargetTransformInfo::isLegalAddImmediate(int64_t Imm) const { in isLegalAddImmediate()
403 bool TargetTransformInfo::isLegalAddScalableImmediate(int64_t Imm) const { in isLegalAddScalableImmediate()
407 bool TargetTransformInfo::isLegalICmpImmediate(int64_t Imm) const { in isLegalICmpImmediate()
411 bool TargetTransformInfo::isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, in isLegalAddressingMode()
421 bool TargetTransformInfo::isLSRCostLess(const LSRCost &C1, in isLSRCostLess()
426 bool TargetTransformInfo::isNumRegsMajorCostOfLSR() const { in isNumRegsMajorCostOfLSR()
430 bool TargetTransformInfo::shouldFoldTerminatingConditionAfterLSR() const { in shouldFoldTerminatingConditionAfterLSR()
434 bool TargetTransformInfo::shouldDropLSRSolutionIfLessProfitable() const { in shouldDropLSRSolutionIfLessProfitable()
438 bool TargetTransformInfo::isProfitableLSRChainElement(Instruction *I) const { in isProfitableLSRChainElement()
442 bool TargetTransformInfo::canMacroFuseCmp() const { in canMacroFuseCmp()
446 bool TargetTransformInfo::canSaveCmp(Loop *L, BranchInst **BI, in canSaveCmp()
454 TargetTransformInfo::getPreferredAddressingMode(const Loop *L, in getPreferredAddressingMode()
459 bool TargetTransformInfo::isLegalMaskedStore(Type *DataType, in isLegalMaskedStore()
464 bool TargetTransformInfo::isLegalMaskedLoad(Type *DataType, in isLegalMaskedLoad()
469 bool TargetTransformInfo::isLegalNTStore(Type *DataType, in isLegalNTStore()
474 bool TargetTransformInfo::isLegalNTLoad(Type *DataType, Align Alignment) const { in isLegalNTLoad()
478 bool TargetTransformInfo::isLegalBroadcastLoad(Type *ElementTy, in isLegalBroadcastLoad()
483 bool TargetTransformInfo::isLegalMaskedGather(Type *DataType, in isLegalMaskedGather()
488 bool TargetTransformInfo::isLegalAltInstr( in isLegalAltInstr()
494 bool TargetTransformInfo::isLegalMaskedScatter(Type *DataType, in isLegalMaskedScatter()
499 bool TargetTransformInfo::forceScalarizeMaskedGather(VectorType *DataType, in forceScalarizeMaskedGather()
504 bool TargetTransformInfo::forceScalarizeMaskedScatter(VectorType *DataType, in forceScalarizeMaskedScatter()
509 bool TargetTransformInfo::isLegalMaskedCompressStore(Type *DataType, in isLegalMaskedCompressStore()
514 bool TargetTransformInfo::isLegalMaskedExpandLoad(Type *DataType, in isLegalMaskedExpandLoad()
519 bool TargetTransformInfo::isLegalStridedLoadStore(Type *DataType, in isLegalStridedLoadStore()
524 bool TargetTransformInfo::isLegalMaskedVectorHistogram(Type *AddrType, in isLegalMaskedVectorHistogram()
529 bool TargetTransformInfo::enableOrderedReductions() const { in enableOrderedReductions()
533 bool TargetTransformInfo::hasDivRemOp(Type *DataType, bool IsSigned) const { in hasDivRemOp()
537 bool TargetTransformInfo::hasVolatileVariant(Instruction *I, in hasVolatileVariant()
542 bool TargetTransformInfo::prefersVectorizedAddressing() const { in prefersVectorizedAddressing()
546 InstructionCost TargetTransformInfo::getScalingFactorCost( in getScalingFactorCost()
555 bool TargetTransformInfo::LSRWithInstrQueries() const { in LSRWithInstrQueries()
559 bool TargetTransformInfo::isTruncateFree(Type *Ty1, Type *Ty2) const { in isTruncateFree()
563 bool TargetTransformInfo::isProfitableToHoist(Instruction *I) const { in isProfitableToHoist()
567 bool TargetTransformInfo::useAA() const { return TTIImpl->useAA(); } in useAA()
569 bool TargetTransformInfo::isTypeLegal(Type *Ty) const { in isTypeLegal()
573 unsigned TargetTransformInfo::getRegUsageForType(Type *Ty) const { in getRegUsageForType()
577 bool TargetTransformInfo::shouldBuildLookupTables() const { in shouldBuildLookupTables()
581 bool TargetTransformInfo::shouldBuildLookupTablesForConstant( in shouldBuildLookupTablesForConstant()
586 bool TargetTransformInfo::shouldBuildRelLookupTables() const { in shouldBuildRelLookupTables()
590 bool TargetTransformInfo::useColdCCForColdCall(Function &F) const { in useColdCCForColdCall()
594 InstructionCost TargetTransformInfo::getScalarizationOverhead( in getScalarizationOverhead()
601 InstructionCost TargetTransformInfo::getOperandsScalarizationOverhead( in getOperandsScalarizationOverhead()
607 bool TargetTransformInfo::supportsEfficientVectorElementLoadStore() const { in supportsEfficientVectorElementLoadStore()
611 bool TargetTransformInfo::supportsTailCalls() const { in supportsTailCalls()
615 bool TargetTransformInfo::supportsTailCallFor(const CallBase *CB) const { in supportsTailCallFor()
619 bool TargetTransformInfo::enableAggressiveInterleaving( in enableAggressiveInterleaving()
624 TargetTransformInfo::MemCmpExpansionOptions
625 TargetTransformInfo::enableMemCmpExpansion(bool OptSize, bool IsZeroCmp) const { in enableMemCmpExpansion()
629 bool TargetTransformInfo::enableSelectOptimize() const { in enableSelectOptimize()
633 bool TargetTransformInfo::shouldTreatInstructionLikeSelect( in shouldTreatInstructionLikeSelect()
638 bool TargetTransformInfo::enableInterleavedAccessVectorization() const { in enableInterleavedAccessVectorization()
642 bool TargetTransformInfo::enableMaskedInterleavedAccessVectorization() const { in enableMaskedInterleavedAccessVectorization()
646 bool TargetTransformInfo::isFPVectorizationPotentiallyUnsafe() const { in isFPVectorizationPotentiallyUnsafe()
651 TargetTransformInfo::allowsMisalignedMemoryAccesses(LLVMContext &Context, in allowsMisalignedMemoryAccesses()
660 TargetTransformInfo::PopcntSupportKind
661 TargetTransformInfo::getPopcntSupport(unsigned IntTyWidthInBit) const { in getPopcntSupport()
665 bool TargetTransformInfo::haveFastSqrt(Type *Ty) const { in haveFastSqrt()
669 bool TargetTransformInfo::isExpensiveToSpeculativelyExecute( in isExpensiveToSpeculativelyExecute()
674 bool TargetTransformInfo::isFCmpOrdCheaperThanFCmpZero(Type *Ty) const { in isFCmpOrdCheaperThanFCmpZero()
678 InstructionCost TargetTransformInfo::getFPOpCost(Type *Ty) const { in getFPOpCost()
684 InstructionCost TargetTransformInfo::getIntImmCodeSizeCost(unsigned Opcode, in getIntImmCodeSizeCost()
694 TargetTransformInfo::getIntImmCost(const APInt &Imm, Type *Ty, in getIntImmCost()
701 InstructionCost TargetTransformInfo::getIntImmCostInst( in getIntImmCostInst()
711 TargetTransformInfo::getIntImmCostIntrin(Intrinsic::ID IID, unsigned Idx, in getIntImmCostIntrin()
720 bool TargetTransformInfo::preferToKeepConstantsAttached( in preferToKeepConstantsAttached()
725 unsigned TargetTransformInfo::getNumberOfRegisters(unsigned ClassID) const { in getNumberOfRegisters()
729 bool TargetTransformInfo::hasConditionalLoadStoreForType(Type *Ty) const { in hasConditionalLoadStoreForType()
733 unsigned TargetTransformInfo::getRegisterClassForType(bool Vector, in getRegisterClassForType()
738 const char *TargetTransformInfo::getRegisterClassName(unsigned ClassID) const { in getRegisterClassName()
742 TypeSize TargetTransformInfo::getRegisterBitWidth( in getRegisterBitWidth()
743 TargetTransformInfo::RegisterKind K) const { in getRegisterBitWidth()
747 unsigned TargetTransformInfo::getMinVectorRegisterBitWidth() const { in getMinVectorRegisterBitWidth()
751 std::optional<unsigned> TargetTransformInfo::getMaxVScale() const { in getMaxVScale()
755 std::optional<unsigned> TargetTransformInfo::getVScaleForTuning() const { in getVScaleForTuning()
759 bool TargetTransformInfo::isVScaleKnownToBeAPowerOfTwo() const { in isVScaleKnownToBeAPowerOfTwo()
763 bool TargetTransformInfo::shouldMaximizeVectorBandwidth( in shouldMaximizeVectorBandwidth()
764 TargetTransformInfo::RegisterKind K) const { in shouldMaximizeVectorBandwidth()
768 ElementCount TargetTransformInfo::getMinimumVF(unsigned ElemWidth, in getMinimumVF()
773 unsigned TargetTransformInfo::getMaximumVF(unsigned ElemWidth, in getMaximumVF()
778 unsigned TargetTransformInfo::getStoreMinimumVF(unsigned VF, Type *ScalarMemTy, in getStoreMinimumVF()
783 bool TargetTransformInfo::shouldConsiderAddressTypePromotion( in shouldConsiderAddressTypePromotion()
789 unsigned TargetTransformInfo::getCacheLineSize() const { in getCacheLineSize()
795 TargetTransformInfo::getCacheSize(CacheLevel Level) const { in getCacheSize()
800 TargetTransformInfo::getCacheAssociativity(CacheLevel Level) const { in getCacheAssociativity()
804 std::optional<unsigned> TargetTransformInfo::getMinPageSize() const { in getMinPageSize()
809 unsigned TargetTransformInfo::getPrefetchDistance() const { in getPrefetchDistance()
813 unsigned TargetTransformInfo::getMinPrefetchStride( in getMinPrefetchStride()
820 unsigned TargetTransformInfo::getMaxPrefetchIterationsAhead() const { in getMaxPrefetchIterationsAhead()
824 bool TargetTransformInfo::enableWritePrefetching() const { in enableWritePrefetching()
828 bool TargetTransformInfo::shouldPrefetchAddressSpace(unsigned AS) const { in shouldPrefetchAddressSpace()
832 unsigned TargetTransformInfo::getMaxInterleaveFactor(ElementCount VF) const { in getMaxInterleaveFactor()
836 TargetTransformInfo::OperandValueInfo
837 TargetTransformInfo::getOperandInfo(const Value *V) { in getOperandInfo()
897 InstructionCost TargetTransformInfo::getArithmeticInstrCost( in getArithmeticInstrCost()
924 InstructionCost TargetTransformInfo::getAltInstrCost( in getAltInstrCost()
933 InstructionCost TargetTransformInfo::getShuffleCost( in getShuffleCost()
944 TargetTransformInfo::getCastContextHint(const Instruction *I) { in getCastContextHint()
987 InstructionCost TargetTransformInfo::getCastInstrCost( in getCastInstrCost()
998 InstructionCost TargetTransformInfo::getExtractWithExtendCost( in getExtractWithExtendCost()
1006 InstructionCost TargetTransformInfo::getCFInstrCost( in getCFInstrCost()
1015 InstructionCost TargetTransformInfo::getCmpSelInstrCost( in getCmpSelInstrCost()
1026 InstructionCost TargetTransformInfo::getVectorInstrCost( in getVectorInstrCost()
1039 TargetTransformInfo::getVectorInstrCost(const Instruction &I, Type *Val, in getVectorInstrCost()
1050 InstructionCost TargetTransformInfo::getReplicationShuffleCost( in getReplicationShuffleCost()
1059 InstructionCost TargetTransformInfo::getMemoryOpCost( in getMemoryOpCost()
1071 InstructionCost TargetTransformInfo::getMaskedMemoryOpCost( in getMaskedMemoryOpCost()
1080 InstructionCost TargetTransformInfo::getGatherScatterOpCost( in getGatherScatterOpCost()
1090 InstructionCost TargetTransformInfo::getStridedMemoryOpCost( in getStridedMemoryOpCost()
1099 InstructionCost TargetTransformInfo::getInterleavedMemoryOpCost( in getInterleavedMemoryOpCost()
1111 TargetTransformInfo::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA, in getIntrinsicInstrCost()
1119 TargetTransformInfo::getCallInstrCost(Function *F, Type *RetTy, in getCallInstrCost()
1127 unsigned TargetTransformInfo::getNumberOfParts(Type *Tp) const { in getNumberOfParts()
1132 TargetTransformInfo::getAddressComputationCost(Type *Tp, ScalarEvolution *SE, in getAddressComputationCost()
1139 InstructionCost TargetTransformInfo::getMemcpyCost(const Instruction *I) const { in getMemcpyCost()
1145 uint64_t TargetTransformInfo::getMaxMemIntrinsicInlineSizeThreshold() const { in getMaxMemIntrinsicInlineSizeThreshold()
1149 InstructionCost TargetTransformInfo::getArithmeticReductionCost( in getArithmeticReductionCost()
1158 InstructionCost TargetTransformInfo::getMinMaxReductionCost( in getMinMaxReductionCost()
1167 InstructionCost TargetTransformInfo::getExtendedReductionCost( in getExtendedReductionCost()
1174 InstructionCost TargetTransformInfo::getMulAccReductionCost( in getMulAccReductionCost()
1181 TargetTransformInfo::getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) const { in getCostOfKeepingLiveOverCall()
1185 bool TargetTransformInfo::getTgtMemIntrinsic(IntrinsicInst *Inst, in getTgtMemIntrinsic()
1190 unsigned TargetTransformInfo::getAtomicMemIntrinsicMaxElementSize() const { in getAtomicMemIntrinsicMaxElementSize()
1194 Value *TargetTransformInfo::getOrCreateResultFromMemIntrinsic( in getOrCreateResultFromMemIntrinsic()
1199 Type *TargetTransformInfo::getMemcpyLoopLoweringType( in getMemcpyLoopLoweringType()
1208 void TargetTransformInfo::getMemcpyLoopResidualLoweringType( in getMemcpyLoopResidualLoweringType()
1218 bool TargetTransformInfo::areInlineCompatible(const Function *Caller, in areInlineCompatible()
1224 TargetTransformInfo::getInlineCallPenalty(const Function *F, in getInlineCallPenalty()
1230 bool TargetTransformInfo::areTypesABICompatible( in areTypesABICompatible()
1236 bool TargetTransformInfo::isIndexedLoadLegal(MemIndexedMode Mode, in isIndexedLoadLegal()
1241 bool TargetTransformInfo::isIndexedStoreLegal(MemIndexedMode Mode, in isIndexedStoreLegal()
1246 unsigned TargetTransformInfo::getLoadStoreVecRegBitWidth(unsigned AS) const { in getLoadStoreVecRegBitWidth()
1250 bool TargetTransformInfo::isLegalToVectorizeLoad(LoadInst *LI) const { in isLegalToVectorizeLoad()
1254 bool TargetTransformInfo::isLegalToVectorizeStore(StoreInst *SI) const { in isLegalToVectorizeStore()
1258 bool TargetTransformInfo::isLegalToVectorizeLoadChain( in isLegalToVectorizeLoadChain()
1264 bool TargetTransformInfo::isLegalToVectorizeStoreChain( in isLegalToVectorizeStoreChain()
1270 bool TargetTransformInfo::isLegalToVectorizeReduction( in isLegalToVectorizeReduction()
1275 bool TargetTransformInfo::isElementTypeLegalForScalableVector(Type *Ty) const { in isElementTypeLegalForScalableVector()
1279 unsigned TargetTransformInfo::getLoadVectorFactor(unsigned VF, in getLoadVectorFactor()
1286 unsigned TargetTransformInfo::getStoreVectorFactor(unsigned VF, in getStoreVectorFactor()
1293 bool TargetTransformInfo::preferFixedOverScalableIfEqualCost() const { in preferFixedOverScalableIfEqualCost()
1297 bool TargetTransformInfo::preferInLoopReduction(unsigned Opcode, Type *Ty, in preferInLoopReduction()
1302 bool TargetTransformInfo::preferPredicatedReductionSelect( in preferPredicatedReductionSelect()
1307 bool TargetTransformInfo::preferEpilogueVectorization() const { in preferEpilogueVectorization()
1311 TargetTransformInfo::VPLegalization
1312 TargetTransformInfo::getVPLegalizationStrategy(const VPIntrinsic &VPI) const { in getVPLegalizationStrategy()
1316 bool TargetTransformInfo::hasArmWideBranch(bool Thumb) const { in hasArmWideBranch()
1320 unsigned TargetTransformInfo::getMaxNumArgs() const { in getMaxNumArgs()
1324 bool TargetTransformInfo::shouldExpandReduction(const IntrinsicInst *II) const { in shouldExpandReduction()
1328 TargetTransformInfo::ReductionShuffle
1329 TargetTransformInfo::getPreferredExpandedReductionShuffle( in getPreferredExpandedReductionShuffle()
1334 unsigned TargetTransformInfo::getGISelRematGlobalCost() const { in getGISelRematGlobalCost()
1338 unsigned TargetTransformInfo::getMinTripCountTailFoldingThreshold() const { in getMinTripCountTailFoldingThreshold()
1342 bool TargetTransformInfo::supportsScalableVectors() const { in supportsScalableVectors()
1346 bool TargetTransformInfo::enableScalableVectorization() const { in enableScalableVectorization()
1350 bool TargetTransformInfo::hasActiveVectorLength(unsigned Opcode, Type *DataType, in hasActiveVectorLength()
1355 TargetTransformInfo::Concept::~Concept() = default;
1394 TargetTransformInfo &TargetTransformInfoWrapperPass::getTTI(const Function &F) { in getTTI()