Lines Matching refs:TargetTransformInfo
184 TargetTransformInfo::TargetTransformInfo(const DataLayout &DL) in TargetTransformInfo() function in TargetTransformInfo
187 TargetTransformInfo::~TargetTransformInfo() = default;
189 TargetTransformInfo::TargetTransformInfo(TargetTransformInfo &&Arg) in TargetTransformInfo() function in TargetTransformInfo
192 TargetTransformInfo &TargetTransformInfo::operator=(TargetTransformInfo &&RHS) { in operator =()
197 unsigned TargetTransformInfo::getInliningThresholdMultiplier() const { in getInliningThresholdMultiplier()
202 TargetTransformInfo::adjustInliningThreshold(const CallBase *CB) const { in adjustInliningThreshold()
206 int TargetTransformInfo::getInlinerVectorBonusPercent() const { in getInlinerVectorBonusPercent()
211 TargetTransformInfo::getGEPCost(Type *PointeeType, const Value *Ptr, in getGEPCost()
217 unsigned TargetTransformInfo::getEstimatedNumberOfCaseClusters( in getEstimatedNumberOfCaseClusters()
224 TargetTransformInfo::getUserCost(const User *U, in getUserCost()
233 BranchProbability TargetTransformInfo::getPredictableBranchThreshold() const { in getPredictableBranchThreshold()
237 bool TargetTransformInfo::hasBranchDivergence() const { in hasBranchDivergence()
241 bool TargetTransformInfo::useGPUDivergenceAnalysis() const { in useGPUDivergenceAnalysis()
245 bool TargetTransformInfo::isSourceOfDivergence(const Value *V) const { in isSourceOfDivergence()
249 bool llvm::TargetTransformInfo::isAlwaysUniform(const Value *V) const { in isAlwaysUniform()
253 unsigned TargetTransformInfo::getFlatAddressSpace() const { in getFlatAddressSpace()
257 bool TargetTransformInfo::collectFlatAddressOperands( in collectFlatAddressOperands()
262 bool TargetTransformInfo::isNoopAddrSpaceCast(unsigned FromAS, in isNoopAddrSpaceCast()
267 bool TargetTransformInfo::canHaveNonUndefGlobalInitializerInAddressSpace( in canHaveNonUndefGlobalInitializerInAddressSpace()
272 unsigned TargetTransformInfo::getAssumedAddrSpace(const Value *V) const { in getAssumedAddrSpace()
277 TargetTransformInfo::getPredicatedAddrSpace(const Value *V) const { in getPredicatedAddrSpace()
281 Value *TargetTransformInfo::rewriteIntrinsicWithAddressSpace( in rewriteIntrinsicWithAddressSpace()
286 bool TargetTransformInfo::isLoweredToCall(const Function *F) const { in isLoweredToCall()
290 bool TargetTransformInfo::isHardwareLoopProfitable( in isHardwareLoopProfitable()
296 bool TargetTransformInfo::preferPredicateOverEpilogue( in preferPredicateOverEpilogue()
303 PredicationStyle TargetTransformInfo::emitGetActiveLaneMask() const { in emitGetActiveLaneMask()
308 TargetTransformInfo::instCombineIntrinsic(InstCombiner &IC, in instCombineIntrinsic()
313 Optional<Value *> TargetTransformInfo::simplifyDemandedUseBitsIntrinsic( in simplifyDemandedUseBitsIntrinsic()
320 Optional<Value *> TargetTransformInfo::simplifyDemandedVectorEltsIntrinsic( in simplifyDemandedVectorEltsIntrinsic()
330 void TargetTransformInfo::getUnrollingPreferences( in getUnrollingPreferences()
336 void TargetTransformInfo::getPeelingPreferences(Loop *L, ScalarEvolution &SE, in getPeelingPreferences()
341 bool TargetTransformInfo::isLegalAddImmediate(int64_t Imm) const { in isLegalAddImmediate()
345 bool TargetTransformInfo::isLegalICmpImmediate(int64_t Imm) const { in isLegalICmpImmediate()
349 bool TargetTransformInfo::isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, in isLegalAddressingMode()
358 bool TargetTransformInfo::isLSRCostLess(const LSRCost &C1, in isLSRCostLess()
363 bool TargetTransformInfo::isNumRegsMajorCostOfLSR() const { in isNumRegsMajorCostOfLSR()
367 bool TargetTransformInfo::isProfitableLSRChainElement(Instruction *I) const { in isProfitableLSRChainElement()
371 bool TargetTransformInfo::canMacroFuseCmp() const { in canMacroFuseCmp()
375 bool TargetTransformInfo::canSaveCmp(Loop *L, BranchInst **BI, in canSaveCmp()
383 TargetTransformInfo::getPreferredAddressingMode(const Loop *L, in getPreferredAddressingMode()
388 bool TargetTransformInfo::isLegalMaskedStore(Type *DataType, in isLegalMaskedStore()
393 bool TargetTransformInfo::isLegalMaskedLoad(Type *DataType, in isLegalMaskedLoad()
398 bool TargetTransformInfo::isLegalNTStore(Type *DataType, in isLegalNTStore()
403 bool TargetTransformInfo::isLegalNTLoad(Type *DataType, Align Alignment) const { in isLegalNTLoad()
407 bool TargetTransformInfo::isLegalBroadcastLoad(Type *ElementTy, in isLegalBroadcastLoad()
412 bool TargetTransformInfo::isLegalMaskedGather(Type *DataType, in isLegalMaskedGather()
417 bool TargetTransformInfo::isLegalAltInstr( in isLegalAltInstr()
423 bool TargetTransformInfo::isLegalMaskedScatter(Type *DataType, in isLegalMaskedScatter()
428 bool TargetTransformInfo::forceScalarizeMaskedGather(VectorType *DataType, in forceScalarizeMaskedGather()
433 bool TargetTransformInfo::forceScalarizeMaskedScatter(VectorType *DataType, in forceScalarizeMaskedScatter()
438 bool TargetTransformInfo::isLegalMaskedCompressStore(Type *DataType) const { in isLegalMaskedCompressStore()
442 bool TargetTransformInfo::isLegalMaskedExpandLoad(Type *DataType) const { in isLegalMaskedExpandLoad()
446 bool TargetTransformInfo::enableOrderedReductions() const { in enableOrderedReductions()
450 bool TargetTransformInfo::hasDivRemOp(Type *DataType, bool IsSigned) const { in hasDivRemOp()
454 bool TargetTransformInfo::hasVolatileVariant(Instruction *I, in hasVolatileVariant()
459 bool TargetTransformInfo::prefersVectorizedAddressing() const { in prefersVectorizedAddressing()
463 InstructionCost TargetTransformInfo::getScalingFactorCost( in getScalingFactorCost()
472 bool TargetTransformInfo::LSRWithInstrQueries() const { in LSRWithInstrQueries()
476 bool TargetTransformInfo::isTruncateFree(Type *Ty1, Type *Ty2) const { in isTruncateFree()
480 bool TargetTransformInfo::isProfitableToHoist(Instruction *I) const { in isProfitableToHoist()
484 bool TargetTransformInfo::useAA() const { return TTIImpl->useAA(); } in useAA()
486 bool TargetTransformInfo::isTypeLegal(Type *Ty) const { in isTypeLegal()
490 unsigned TargetTransformInfo::getRegUsageForType(Type *Ty) const { in getRegUsageForType()
494 bool TargetTransformInfo::shouldBuildLookupTables() const { in shouldBuildLookupTables()
498 bool TargetTransformInfo::shouldBuildLookupTablesForConstant( in shouldBuildLookupTablesForConstant()
503 bool TargetTransformInfo::shouldBuildRelLookupTables() const { in shouldBuildRelLookupTables()
507 bool TargetTransformInfo::useColdCCForColdCall(Function &F) const { in useColdCCForColdCall()
512 TargetTransformInfo::getScalarizationOverhead(VectorType *Ty, in getScalarizationOverhead()
518 InstructionCost TargetTransformInfo::getOperandsScalarizationOverhead( in getOperandsScalarizationOverhead()
523 bool TargetTransformInfo::supportsEfficientVectorElementLoadStore() const { in supportsEfficientVectorElementLoadStore()
527 bool TargetTransformInfo::supportsTailCalls() const { in supportsTailCalls()
531 bool TargetTransformInfo::enableAggressiveInterleaving( in enableAggressiveInterleaving()
536 TargetTransformInfo::MemCmpExpansionOptions
537 TargetTransformInfo::enableMemCmpExpansion(bool OptSize, bool IsZeroCmp) const { in enableMemCmpExpansion()
541 bool TargetTransformInfo::enableInterleavedAccessVectorization() const { in enableInterleavedAccessVectorization()
545 bool TargetTransformInfo::enableMaskedInterleavedAccessVectorization() const { in enableMaskedInterleavedAccessVectorization()
549 bool TargetTransformInfo::isFPVectorizationPotentiallyUnsafe() const { in isFPVectorizationPotentiallyUnsafe()
553 bool TargetTransformInfo::allowsMisalignedMemoryAccesses(LLVMContext &Context, in allowsMisalignedMemoryAccesses()
562 TargetTransformInfo::PopcntSupportKind
563 TargetTransformInfo::getPopcntSupport(unsigned IntTyWidthInBit) const { in getPopcntSupport()
567 bool TargetTransformInfo::haveFastSqrt(Type *Ty) const { in haveFastSqrt()
571 bool TargetTransformInfo::isFCmpOrdCheaperThanFCmpZero(Type *Ty) const { in isFCmpOrdCheaperThanFCmpZero()
575 InstructionCost TargetTransformInfo::getFPOpCost(Type *Ty) const { in getFPOpCost()
581 InstructionCost TargetTransformInfo::getIntImmCodeSizeCost(unsigned Opcode, in getIntImmCodeSizeCost()
591 TargetTransformInfo::getIntImmCost(const APInt &Imm, Type *Ty, in getIntImmCost()
598 InstructionCost TargetTransformInfo::getIntImmCostInst( in getIntImmCostInst()
608 TargetTransformInfo::getIntImmCostIntrin(Intrinsic::ID IID, unsigned Idx, in getIntImmCostIntrin()
617 unsigned TargetTransformInfo::getNumberOfRegisters(unsigned ClassID) const { in getNumberOfRegisters()
621 unsigned TargetTransformInfo::getRegisterClassForType(bool Vector, in getRegisterClassForType()
626 const char *TargetTransformInfo::getRegisterClassName(unsigned ClassID) const { in getRegisterClassName()
630 TypeSize TargetTransformInfo::getRegisterBitWidth( in getRegisterBitWidth()
631 TargetTransformInfo::RegisterKind K) const { in getRegisterBitWidth()
635 unsigned TargetTransformInfo::getMinVectorRegisterBitWidth() const { in getMinVectorRegisterBitWidth()
639 Optional<unsigned> TargetTransformInfo::getMaxVScale() const { in getMaxVScale()
643 Optional<unsigned> TargetTransformInfo::getVScaleForTuning() const { in getVScaleForTuning()
647 bool TargetTransformInfo::shouldMaximizeVectorBandwidth( in shouldMaximizeVectorBandwidth()
648 TargetTransformInfo::RegisterKind K) const { in shouldMaximizeVectorBandwidth()
652 ElementCount TargetTransformInfo::getMinimumVF(unsigned ElemWidth, in getMinimumVF()
657 unsigned TargetTransformInfo::getMaximumVF(unsigned ElemWidth, in getMaximumVF()
662 unsigned TargetTransformInfo::getStoreMinimumVF(unsigned VF, Type *ScalarMemTy, in getStoreMinimumVF()
667 bool TargetTransformInfo::shouldConsiderAddressTypePromotion( in shouldConsiderAddressTypePromotion()
673 unsigned TargetTransformInfo::getCacheLineSize() const { in getCacheLineSize()
679 TargetTransformInfo::getCacheSize(CacheLevel Level) const { in getCacheSize()
684 TargetTransformInfo::getCacheAssociativity(CacheLevel Level) const { in getCacheAssociativity()
688 unsigned TargetTransformInfo::getPrefetchDistance() const { in getPrefetchDistance()
692 unsigned TargetTransformInfo::getMinPrefetchStride( in getMinPrefetchStride()
699 unsigned TargetTransformInfo::getMaxPrefetchIterationsAhead() const { in getMaxPrefetchIterationsAhead()
703 bool TargetTransformInfo::enableWritePrefetching() const { in enableWritePrefetching()
707 unsigned TargetTransformInfo::getMaxInterleaveFactor(unsigned VF) const { in getMaxInterleaveFactor()
711 TargetTransformInfo::OperandValueKind
712 TargetTransformInfo::getOperandInfo(const Value *V, in getOperandInfo()
761 InstructionCost TargetTransformInfo::getArithmeticInstrCost( in getArithmeticInstrCost()
773 InstructionCost TargetTransformInfo::getShuffleCost( in getShuffleCost()
783 TargetTransformInfo::getCastContextHint(const Instruction *I) { in getCastContextHint()
826 InstructionCost TargetTransformInfo::getCastInstrCost( in getCastInstrCost()
837 InstructionCost TargetTransformInfo::getExtractWithExtendCost( in getExtractWithExtendCost()
845 InstructionCost TargetTransformInfo::getCFInstrCost( in getCFInstrCost()
854 InstructionCost TargetTransformInfo::getCmpSelInstrCost( in getCmpSelInstrCost()
865 InstructionCost TargetTransformInfo::getVectorInstrCost(unsigned Opcode, in getVectorInstrCost()
873 InstructionCost TargetTransformInfo::getReplicationShuffleCost( in getReplicationShuffleCost()
882 InstructionCost TargetTransformInfo::getMemoryOpCost( in getMemoryOpCost()
893 InstructionCost TargetTransformInfo::getMaskedMemoryOpCost( in getMaskedMemoryOpCost()
902 InstructionCost TargetTransformInfo::getGatherScatterOpCost( in getGatherScatterOpCost()
911 InstructionCost TargetTransformInfo::getInterleavedMemoryOpCost( in getInterleavedMemoryOpCost()
923 TargetTransformInfo::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA, in getIntrinsicInstrCost()
931 TargetTransformInfo::getCallInstrCost(Function *F, Type *RetTy, in getCallInstrCost()
939 unsigned TargetTransformInfo::getNumberOfParts(Type *Tp) const { in getNumberOfParts()
944 TargetTransformInfo::getAddressComputationCost(Type *Tp, ScalarEvolution *SE, in getAddressComputationCost()
951 InstructionCost TargetTransformInfo::getMemcpyCost(const Instruction *I) const { in getMemcpyCost()
957 InstructionCost TargetTransformInfo::getArithmeticReductionCost( in getArithmeticReductionCost()
966 InstructionCost TargetTransformInfo::getMinMaxReductionCost( in getMinMaxReductionCost()
975 InstructionCost TargetTransformInfo::getExtendedAddReductionCost( in getExtendedAddReductionCost()
983 TargetTransformInfo::getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) const { in getCostOfKeepingLiveOverCall()
987 bool TargetTransformInfo::getTgtMemIntrinsic(IntrinsicInst *Inst, in getTgtMemIntrinsic()
992 unsigned TargetTransformInfo::getAtomicMemIntrinsicMaxElementSize() const { in getAtomicMemIntrinsicMaxElementSize()
996 Value *TargetTransformInfo::getOrCreateResultFromMemIntrinsic( in getOrCreateResultFromMemIntrinsic()
1001 Type *TargetTransformInfo::getMemcpyLoopLoweringType( in getMemcpyLoopLoweringType()
1010 void TargetTransformInfo::getMemcpyLoopResidualLoweringType( in getMemcpyLoopResidualLoweringType()
1020 bool TargetTransformInfo::areInlineCompatible(const Function *Caller, in areInlineCompatible()
1025 bool TargetTransformInfo::areTypesABICompatible( in areTypesABICompatible()
1031 bool TargetTransformInfo::isIndexedLoadLegal(MemIndexedMode Mode, in isIndexedLoadLegal()
1036 bool TargetTransformInfo::isIndexedStoreLegal(MemIndexedMode Mode, in isIndexedStoreLegal()
1041 unsigned TargetTransformInfo::getLoadStoreVecRegBitWidth(unsigned AS) const { in getLoadStoreVecRegBitWidth()
1045 bool TargetTransformInfo::isLegalToVectorizeLoad(LoadInst *LI) const { in isLegalToVectorizeLoad()
1049 bool TargetTransformInfo::isLegalToVectorizeStore(StoreInst *SI) const { in isLegalToVectorizeStore()
1053 bool TargetTransformInfo::isLegalToVectorizeLoadChain( in isLegalToVectorizeLoadChain()
1059 bool TargetTransformInfo::isLegalToVectorizeStoreChain( in isLegalToVectorizeStoreChain()
1065 bool TargetTransformInfo::isLegalToVectorizeReduction( in isLegalToVectorizeReduction()
1070 bool TargetTransformInfo::isElementTypeLegalForScalableVector(Type *Ty) const { in isElementTypeLegalForScalableVector()
1074 unsigned TargetTransformInfo::getLoadVectorFactor(unsigned VF, in getLoadVectorFactor()
1081 unsigned TargetTransformInfo::getStoreVectorFactor(unsigned VF, in getStoreVectorFactor()
1088 bool TargetTransformInfo::preferInLoopReduction(unsigned Opcode, Type *Ty, in preferInLoopReduction()
1093 bool TargetTransformInfo::preferPredicatedReductionSelect( in preferPredicatedReductionSelect()
1098 TargetTransformInfo::VPLegalization
1099 TargetTransformInfo::getVPLegalizationStrategy(const VPIntrinsic &VPI) const { in getVPLegalizationStrategy()
1103 bool TargetTransformInfo::shouldExpandReduction(const IntrinsicInst *II) const { in shouldExpandReduction()
1107 unsigned TargetTransformInfo::getGISelRematGlobalCost() const { in getGISelRematGlobalCost()
1111 unsigned TargetTransformInfo::getMinTripCountTailFoldingThreshold() const { in getMinTripCountTailFoldingThreshold()
1115 bool TargetTransformInfo::supportsScalableVectors() const { in supportsScalableVectors()
1119 bool TargetTransformInfo::enableScalableVectorization() const { in enableScalableVectorization()
1123 bool TargetTransformInfo::hasActiveVectorLength(unsigned Opcode, Type *DataType, in hasActiveVectorLength()
1129 TargetTransformInfo::getInstructionLatency(const Instruction *I) const { in getInstructionLatency()
1134 TargetTransformInfo::getInstructionThroughput(const Instruction *I) const { in getInstructionThroughput()
1192 TargetTransformInfo::Concept::~Concept() = default;
1231 TargetTransformInfo &TargetTransformInfoWrapperPass::getTTI(const Function &F) { in getTTI()