Lines Matching refs:TargetTransformInfo
179 TargetTransformInfo::TargetTransformInfo(const DataLayout &DL) in TargetTransformInfo() function in TargetTransformInfo
182 TargetTransformInfo::~TargetTransformInfo() {} in ~TargetTransformInfo()
184 TargetTransformInfo::TargetTransformInfo(TargetTransformInfo &&Arg) in TargetTransformInfo() function in TargetTransformInfo
187 TargetTransformInfo &TargetTransformInfo::operator=(TargetTransformInfo &&RHS) { in operator =()
192 unsigned TargetTransformInfo::getInliningThresholdMultiplier() const { in getInliningThresholdMultiplier()
197 TargetTransformInfo::adjustInliningThreshold(const CallBase *CB) const { in adjustInliningThreshold()
201 int TargetTransformInfo::getInlinerVectorBonusPercent() const { in getInlinerVectorBonusPercent()
206 TargetTransformInfo::getGEPCost(Type *PointeeType, const Value *Ptr, in getGEPCost()
212 unsigned TargetTransformInfo::getEstimatedNumberOfCaseClusters( in getEstimatedNumberOfCaseClusters()
219 TargetTransformInfo::getUserCost(const User *U, in getUserCost()
228 BranchProbability TargetTransformInfo::getPredictableBranchThreshold() const { in getPredictableBranchThreshold()
232 bool TargetTransformInfo::hasBranchDivergence() const { in hasBranchDivergence()
236 bool TargetTransformInfo::useGPUDivergenceAnalysis() const { in useGPUDivergenceAnalysis()
240 bool TargetTransformInfo::isSourceOfDivergence(const Value *V) const { in isSourceOfDivergence()
244 bool llvm::TargetTransformInfo::isAlwaysUniform(const Value *V) const { in isAlwaysUniform()
248 unsigned TargetTransformInfo::getFlatAddressSpace() const { in getFlatAddressSpace()
252 bool TargetTransformInfo::collectFlatAddressOperands( in collectFlatAddressOperands()
257 bool TargetTransformInfo::isNoopAddrSpaceCast(unsigned FromAS, in isNoopAddrSpaceCast()
262 unsigned TargetTransformInfo::getAssumedAddrSpace(const Value *V) const { in getAssumedAddrSpace()
266 Value *TargetTransformInfo::rewriteIntrinsicWithAddressSpace( in rewriteIntrinsicWithAddressSpace()
271 bool TargetTransformInfo::isLoweredToCall(const Function *F) const { in isLoweredToCall()
275 bool TargetTransformInfo::isHardwareLoopProfitable( in isHardwareLoopProfitable()
281 bool TargetTransformInfo::preferPredicateOverEpilogue( in preferPredicateOverEpilogue()
288 bool TargetTransformInfo::emitGetActiveLaneMask() const { in emitGetActiveLaneMask()
293 TargetTransformInfo::instCombineIntrinsic(InstCombiner &IC, in instCombineIntrinsic()
298 Optional<Value *> TargetTransformInfo::simplifyDemandedUseBitsIntrinsic( in simplifyDemandedUseBitsIntrinsic()
305 Optional<Value *> TargetTransformInfo::simplifyDemandedVectorEltsIntrinsic( in simplifyDemandedVectorEltsIntrinsic()
315 void TargetTransformInfo::getUnrollingPreferences( in getUnrollingPreferences()
320 void TargetTransformInfo::getPeelingPreferences(Loop *L, ScalarEvolution &SE, in getPeelingPreferences()
325 bool TargetTransformInfo::isLegalAddImmediate(int64_t Imm) const { in isLegalAddImmediate()
329 bool TargetTransformInfo::isLegalICmpImmediate(int64_t Imm) const { in isLegalICmpImmediate()
333 bool TargetTransformInfo::isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, in isLegalAddressingMode()
342 bool TargetTransformInfo::isLSRCostLess(LSRCost &C1, LSRCost &C2) const { in isLSRCostLess()
346 bool TargetTransformInfo::isNumRegsMajorCostOfLSR() const { in isNumRegsMajorCostOfLSR()
350 bool TargetTransformInfo::isProfitableLSRChainElement(Instruction *I) const { in isProfitableLSRChainElement()
354 bool TargetTransformInfo::canMacroFuseCmp() const { in canMacroFuseCmp()
358 bool TargetTransformInfo::canSaveCmp(Loop *L, BranchInst **BI, in canSaveCmp()
366 TargetTransformInfo::getPreferredAddressingMode(const Loop *L, in getPreferredAddressingMode()
371 bool TargetTransformInfo::isLegalMaskedStore(Type *DataType, in isLegalMaskedStore()
376 bool TargetTransformInfo::isLegalMaskedLoad(Type *DataType, in isLegalMaskedLoad()
381 bool TargetTransformInfo::isLegalNTStore(Type *DataType, in isLegalNTStore()
386 bool TargetTransformInfo::isLegalNTLoad(Type *DataType, Align Alignment) const { in isLegalNTLoad()
390 bool TargetTransformInfo::isLegalMaskedGather(Type *DataType, in isLegalMaskedGather()
395 bool TargetTransformInfo::isLegalMaskedScatter(Type *DataType, in isLegalMaskedScatter()
400 bool TargetTransformInfo::isLegalMaskedCompressStore(Type *DataType) const { in isLegalMaskedCompressStore()
404 bool TargetTransformInfo::isLegalMaskedExpandLoad(Type *DataType) const { in isLegalMaskedExpandLoad()
408 bool TargetTransformInfo::hasDivRemOp(Type *DataType, bool IsSigned) const { in hasDivRemOp()
412 bool TargetTransformInfo::hasVolatileVariant(Instruction *I, in hasVolatileVariant()
417 bool TargetTransformInfo::prefersVectorizedAddressing() const { in prefersVectorizedAddressing()
421 InstructionCost TargetTransformInfo::getScalingFactorCost( in getScalingFactorCost()
430 bool TargetTransformInfo::LSRWithInstrQueries() const { in LSRWithInstrQueries()
434 bool TargetTransformInfo::isTruncateFree(Type *Ty1, Type *Ty2) const { in isTruncateFree()
438 bool TargetTransformInfo::isProfitableToHoist(Instruction *I) const { in isProfitableToHoist()
442 bool TargetTransformInfo::useAA() const { return TTIImpl->useAA(); } in useAA()
444 bool TargetTransformInfo::isTypeLegal(Type *Ty) const { in isTypeLegal()
448 InstructionCost TargetTransformInfo::getRegUsageForType(Type *Ty) const { in getRegUsageForType()
452 bool TargetTransformInfo::shouldBuildLookupTables() const { in shouldBuildLookupTables()
456 bool TargetTransformInfo::shouldBuildLookupTablesForConstant( in shouldBuildLookupTablesForConstant()
461 bool TargetTransformInfo::shouldBuildRelLookupTables() const { in shouldBuildRelLookupTables()
465 bool TargetTransformInfo::useColdCCForColdCall(Function &F) const { in useColdCCForColdCall()
470 TargetTransformInfo::getScalarizationOverhead(VectorType *Ty, in getScalarizationOverhead()
476 InstructionCost TargetTransformInfo::getOperandsScalarizationOverhead( in getOperandsScalarizationOverhead()
481 bool TargetTransformInfo::supportsEfficientVectorElementLoadStore() const { in supportsEfficientVectorElementLoadStore()
485 bool TargetTransformInfo::enableAggressiveInterleaving( in enableAggressiveInterleaving()
490 TargetTransformInfo::MemCmpExpansionOptions
491 TargetTransformInfo::enableMemCmpExpansion(bool OptSize, bool IsZeroCmp) const { in enableMemCmpExpansion()
495 bool TargetTransformInfo::enableInterleavedAccessVectorization() const { in enableInterleavedAccessVectorization()
499 bool TargetTransformInfo::enableMaskedInterleavedAccessVectorization() const { in enableMaskedInterleavedAccessVectorization()
503 bool TargetTransformInfo::isFPVectorizationPotentiallyUnsafe() const { in isFPVectorizationPotentiallyUnsafe()
507 bool TargetTransformInfo::allowsMisalignedMemoryAccesses(LLVMContext &Context, in allowsMisalignedMemoryAccesses()
516 TargetTransformInfo::PopcntSupportKind
517 TargetTransformInfo::getPopcntSupport(unsigned IntTyWidthInBit) const { in getPopcntSupport()
521 bool TargetTransformInfo::haveFastSqrt(Type *Ty) const { in haveFastSqrt()
525 bool TargetTransformInfo::isFCmpOrdCheaperThanFCmpZero(Type *Ty) const { in isFCmpOrdCheaperThanFCmpZero()
529 InstructionCost TargetTransformInfo::getFPOpCost(Type *Ty) const { in getFPOpCost()
535 InstructionCost TargetTransformInfo::getIntImmCodeSizeCost(unsigned Opcode, in getIntImmCodeSizeCost()
545 TargetTransformInfo::getIntImmCost(const APInt &Imm, Type *Ty, in getIntImmCost()
552 InstructionCost TargetTransformInfo::getIntImmCostInst( in getIntImmCostInst()
562 TargetTransformInfo::getIntImmCostIntrin(Intrinsic::ID IID, unsigned Idx, in getIntImmCostIntrin()
571 unsigned TargetTransformInfo::getNumberOfRegisters(unsigned ClassID) const { in getNumberOfRegisters()
575 unsigned TargetTransformInfo::getRegisterClassForType(bool Vector, in getRegisterClassForType()
580 const char *TargetTransformInfo::getRegisterClassName(unsigned ClassID) const { in getRegisterClassName()
584 TypeSize TargetTransformInfo::getRegisterBitWidth( in getRegisterBitWidth()
585 TargetTransformInfo::RegisterKind K) const { in getRegisterBitWidth()
589 unsigned TargetTransformInfo::getMinVectorRegisterBitWidth() const { in getMinVectorRegisterBitWidth()
593 Optional<unsigned> TargetTransformInfo::getMaxVScale() const { in getMaxVScale()
597 bool TargetTransformInfo::shouldMaximizeVectorBandwidth() const { in shouldMaximizeVectorBandwidth()
601 ElementCount TargetTransformInfo::getMinimumVF(unsigned ElemWidth, in getMinimumVF()
606 unsigned TargetTransformInfo::getMaximumVF(unsigned ElemWidth, in getMaximumVF()
611 bool TargetTransformInfo::shouldConsiderAddressTypePromotion( in shouldConsiderAddressTypePromotion()
617 unsigned TargetTransformInfo::getCacheLineSize() const { in getCacheLineSize()
622 TargetTransformInfo::getCacheSize(CacheLevel Level) const { in getCacheSize()
627 TargetTransformInfo::getCacheAssociativity(CacheLevel Level) const { in getCacheAssociativity()
631 unsigned TargetTransformInfo::getPrefetchDistance() const { in getPrefetchDistance()
635 unsigned TargetTransformInfo::getMinPrefetchStride( in getMinPrefetchStride()
642 unsigned TargetTransformInfo::getMaxPrefetchIterationsAhead() const { in getMaxPrefetchIterationsAhead()
646 bool TargetTransformInfo::enableWritePrefetching() const { in enableWritePrefetching()
650 unsigned TargetTransformInfo::getMaxInterleaveFactor(unsigned VF) const { in getMaxInterleaveFactor()
654 TargetTransformInfo::OperandValueKind
655 TargetTransformInfo::getOperandInfo(const Value *V, in getOperandInfo()
704 InstructionCost TargetTransformInfo::getArithmeticInstrCost( in getArithmeticInstrCost()
716 InstructionCost TargetTransformInfo::getShuffleCost(ShuffleKind Kind, in getShuffleCost()
727 TargetTransformInfo::getCastContextHint(const Instruction *I) { in getCastContextHint()
770 InstructionCost TargetTransformInfo::getCastInstrCost( in getCastInstrCost()
781 InstructionCost TargetTransformInfo::getExtractWithExtendCost( in getExtractWithExtendCost()
789 InstructionCost TargetTransformInfo::getCFInstrCost( in getCFInstrCost()
798 InstructionCost TargetTransformInfo::getCmpSelInstrCost( in getCmpSelInstrCost()
809 InstructionCost TargetTransformInfo::getVectorInstrCost(unsigned Opcode, in getVectorInstrCost()
817 InstructionCost TargetTransformInfo::getMemoryOpCost( in getMemoryOpCost()
828 InstructionCost TargetTransformInfo::getMaskedMemoryOpCost( in getMaskedMemoryOpCost()
837 InstructionCost TargetTransformInfo::getGatherScatterOpCost( in getGatherScatterOpCost()
846 InstructionCost TargetTransformInfo::getInterleavedMemoryOpCost( in getInterleavedMemoryOpCost()
858 TargetTransformInfo::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA, in getIntrinsicInstrCost()
866 TargetTransformInfo::getCallInstrCost(Function *F, Type *RetTy, in getCallInstrCost()
874 unsigned TargetTransformInfo::getNumberOfParts(Type *Tp) const { in getNumberOfParts()
879 TargetTransformInfo::getAddressComputationCost(Type *Tp, ScalarEvolution *SE, in getAddressComputationCost()
886 InstructionCost TargetTransformInfo::getMemcpyCost(const Instruction *I) const { in getMemcpyCost()
892 InstructionCost TargetTransformInfo::getArithmeticReductionCost( in getArithmeticReductionCost()
901 InstructionCost TargetTransformInfo::getMinMaxReductionCost( in getMinMaxReductionCost()
910 InstructionCost TargetTransformInfo::getExtendedAddReductionCost( in getExtendedAddReductionCost()
918 TargetTransformInfo::getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) const { in getCostOfKeepingLiveOverCall()
922 bool TargetTransformInfo::getTgtMemIntrinsic(IntrinsicInst *Inst, in getTgtMemIntrinsic()
927 unsigned TargetTransformInfo::getAtomicMemIntrinsicMaxElementSize() const { in getAtomicMemIntrinsicMaxElementSize()
931 Value *TargetTransformInfo::getOrCreateResultFromMemIntrinsic( in getOrCreateResultFromMemIntrinsic()
936 Type *TargetTransformInfo::getMemcpyLoopLoweringType( in getMemcpyLoopLoweringType()
943 void TargetTransformInfo::getMemcpyLoopResidualLoweringType( in getMemcpyLoopResidualLoweringType()
952 bool TargetTransformInfo::areInlineCompatible(const Function *Caller, in areInlineCompatible()
957 bool TargetTransformInfo::areFunctionArgsABICompatible( in areFunctionArgsABICompatible()
963 bool TargetTransformInfo::isIndexedLoadLegal(MemIndexedMode Mode, in isIndexedLoadLegal()
968 bool TargetTransformInfo::isIndexedStoreLegal(MemIndexedMode Mode, in isIndexedStoreLegal()
973 unsigned TargetTransformInfo::getLoadStoreVecRegBitWidth(unsigned AS) const { in getLoadStoreVecRegBitWidth()
977 bool TargetTransformInfo::isLegalToVectorizeLoad(LoadInst *LI) const { in isLegalToVectorizeLoad()
981 bool TargetTransformInfo::isLegalToVectorizeStore(StoreInst *SI) const { in isLegalToVectorizeStore()
985 bool TargetTransformInfo::isLegalToVectorizeLoadChain( in isLegalToVectorizeLoadChain()
991 bool TargetTransformInfo::isLegalToVectorizeStoreChain( in isLegalToVectorizeStoreChain()
997 bool TargetTransformInfo::isLegalToVectorizeReduction( in isLegalToVectorizeReduction()
1002 bool TargetTransformInfo::isElementTypeLegalForScalableVector(Type *Ty) const { in isElementTypeLegalForScalableVector()
1006 unsigned TargetTransformInfo::getLoadVectorFactor(unsigned VF, in getLoadVectorFactor()
1013 unsigned TargetTransformInfo::getStoreVectorFactor(unsigned VF, in getStoreVectorFactor()
1020 bool TargetTransformInfo::preferInLoopReduction(unsigned Opcode, Type *Ty, in preferInLoopReduction()
1025 bool TargetTransformInfo::preferPredicatedReductionSelect( in preferPredicatedReductionSelect()
1030 TargetTransformInfo::VPLegalization
1031 TargetTransformInfo::getVPLegalizationStrategy(const VPIntrinsic &VPI) const { in getVPLegalizationStrategy()
1035 bool TargetTransformInfo::shouldExpandReduction(const IntrinsicInst *II) const { in shouldExpandReduction()
1039 unsigned TargetTransformInfo::getGISelRematGlobalCost() const { in getGISelRematGlobalCost()
1043 bool TargetTransformInfo::supportsScalableVectors() const { in supportsScalableVectors()
1047 bool TargetTransformInfo::hasActiveVectorLength() const { in hasActiveVectorLength()
1052 TargetTransformInfo::getInstructionLatency(const Instruction *I) const { in getInstructionLatency()
1057 TargetTransformInfo::getInstructionThroughput(const Instruction *I) const { in getInstructionThroughput()
1115 TargetTransformInfo::Concept::~Concept() {} in ~Concept()
1154 TargetTransformInfo &TargetTransformInfoWrapperPass::getTTI(const Function &F) { in getTTI()