Lines Matching refs:TTIImpl

62     : TTIImpl(std::move(Impl)) {}  in TargetTransformInfo()
206 : TTIImpl(std::make_unique<NoTTIImpl>(DL)) {} in TargetTransformInfo()
211 : TTIImpl(std::move(Arg.TTIImpl)) {} in TargetTransformInfo()
214 TTIImpl = std::move(RHS.TTIImpl); in operator =()
219 return TTIImpl->getInliningThresholdMultiplier(); in getInliningThresholdMultiplier()
224 return TTIImpl->getInliningCostBenefitAnalysisSavingsMultiplier(); in getInliningCostBenefitAnalysisSavingsMultiplier()
230 return TTIImpl->getInliningCostBenefitAnalysisProfitableMultiplier(); in getInliningCostBenefitAnalysisProfitableMultiplier()
234 return TTIImpl->getInliningLastCallToStaticBonus(); in getInliningLastCallToStaticBonus()
239 return TTIImpl->adjustInliningThreshold(CB); in adjustInliningThreshold()
244 return TTIImpl->getCallerAllocaCost(CB, AI); in getCallerAllocaCost()
248 return TTIImpl->getInlinerVectorBonusPercent(); in getInlinerVectorBonusPercent()
254 return TTIImpl->getGEPCost(PointeeType, Ptr, Operands, AccessType, CostKind); in getGEPCost()
263 return TTIImpl->getPointersChainCost(Ptrs, Base, Info, AccessTy, CostKind); in getPointersChainCost()
269 return TTIImpl->getEstimatedNumberOfCaseClusters(SI, JTSize, PSI, BFI); in getEstimatedNumberOfCaseClusters()
276 InstructionCost Cost = TTIImpl->getInstructionCost(U, Operands, CostKind); in getInstructionCost()
285 : TTIImpl->getPredictableBranchThreshold(); in getPredictableBranchThreshold()
289 return TTIImpl->getBranchMispredictPenalty(); in getBranchMispredictPenalty()
293 return TTIImpl->hasBranchDivergence(F); in hasBranchDivergence()
301 return TTIImpl->isSourceOfDivergence(V); in isSourceOfDivergence()
305 return TTIImpl->isAlwaysUniform(V); in isAlwaysUniform()
310 return TTIImpl->isValidAddrSpaceCast(FromAS, ToAS); in isValidAddrSpaceCast()
315 return TTIImpl->addrspacesMayAlias(FromAS, ToAS); in addrspacesMayAlias()
319 return TTIImpl->getFlatAddressSpace(); in getFlatAddressSpace()
324 return TTIImpl->collectFlatAddressOperands(OpIndexes, IID); in collectFlatAddressOperands()
329 return TTIImpl->isNoopAddrSpaceCast(FromAS, ToAS); in isNoopAddrSpaceCast()
334 return TTIImpl->canHaveNonUndefGlobalInitializerInAddressSpace(AS); in canHaveNonUndefGlobalInitializerInAddressSpace()
338 return TTIImpl->getAssumedAddrSpace(V); in getAssumedAddrSpace()
342 return TTIImpl->isSingleThreaded(); in isSingleThreaded()
347 return TTIImpl->getPredicatedAddrSpace(V); in getPredicatedAddrSpace()
352 return TTIImpl->rewriteIntrinsicWithAddressSpace(II, OldV, NewV); in rewriteIntrinsicWithAddressSpace()
356 return TTIImpl->isLoweredToCall(F); in isLoweredToCall()
362 return TTIImpl->isHardwareLoopProfitable(L, SE, AC, LibInfo, HWLoopInfo); in isHardwareLoopProfitable()
366 return TTIImpl->getEpilogueVectorizationMinVF(); in getEpilogueVectorizationMinVF()
371 return TTIImpl->preferPredicateOverEpilogue(TFI); in preferPredicateOverEpilogue()
376 return TTIImpl->getPreferredTailFoldingStyle(IVUpdateMayOverflow); in getPreferredTailFoldingStyle()
382 return TTIImpl->instCombineIntrinsic(IC, II); in instCombineIntrinsic()
388 return TTIImpl->simplifyDemandedUseBitsIntrinsic(IC, II, DemandedMask, Known, in simplifyDemandedUseBitsIntrinsic()
397 return TTIImpl->simplifyDemandedVectorEltsIntrinsic( in simplifyDemandedVectorEltsIntrinsic()
405 return TTIImpl->getUnrollingPreferences(L, SE, UP, ORE); in getUnrollingPreferences()
410 return TTIImpl->getPeelingPreferences(L, SE, PP); in getPeelingPreferences()
414 return TTIImpl->isLegalAddImmediate(Imm); in isLegalAddImmediate()
418 return TTIImpl->isLegalAddScalableImmediate(Imm); in isLegalAddScalableImmediate()
422 return TTIImpl->isLegalICmpImmediate(Imm); in isLegalICmpImmediate()
431 return TTIImpl->isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg, in isLegalAddressingMode()
437 return TTIImpl->isLSRCostLess(C1, C2); in isLSRCostLess()
441 return TTIImpl->isNumRegsMajorCostOfLSR(); in isNumRegsMajorCostOfLSR()
445 return TTIImpl->shouldDropLSRSolutionIfLessProfitable(); in shouldDropLSRSolutionIfLessProfitable()
449 return TTIImpl->isProfitableLSRChainElement(I); in isProfitableLSRChainElement()
453 return TTIImpl->canMacroFuseCmp(); in canMacroFuseCmp()
460 return TTIImpl->canSaveCmp(L, BI, SE, LI, DT, AC, LibInfo); in canSaveCmp()
466 return TTIImpl->getPreferredAddressingMode(L, SE); in getPreferredAddressingMode()
471 return TTIImpl->isLegalMaskedStore(DataType, Alignment, AddressSpace); in isLegalMaskedStore()
476 return TTIImpl->isLegalMaskedLoad(DataType, Alignment, AddressSpace); in isLegalMaskedLoad()
481 return TTIImpl->isLegalNTStore(DataType, Alignment); in isLegalNTStore()
485 return TTIImpl->isLegalNTLoad(DataType, Alignment); in isLegalNTLoad()
490 return TTIImpl->isLegalBroadcastLoad(ElementTy, NumElements); in isLegalBroadcastLoad()
495 return TTIImpl->isLegalMaskedGather(DataType, Alignment); in isLegalMaskedGather()
501 return TTIImpl->isLegalAltInstr(VecTy, Opcode0, Opcode1, OpcodeMask); in isLegalAltInstr()
506 return TTIImpl->isLegalMaskedScatter(DataType, Alignment); in isLegalMaskedScatter()
511 return TTIImpl->forceScalarizeMaskedGather(DataType, Alignment); in forceScalarizeMaskedGather()
516 return TTIImpl->forceScalarizeMaskedScatter(DataType, Alignment); in forceScalarizeMaskedScatter()
521 return TTIImpl->isLegalMaskedCompressStore(DataType, Alignment); in isLegalMaskedCompressStore()
526 return TTIImpl->isLegalMaskedExpandLoad(DataType, Alignment); in isLegalMaskedExpandLoad()
531 return TTIImpl->isLegalStridedLoadStore(DataType, Alignment); in isLegalStridedLoadStore()
537 return TTIImpl->isLegalInterleavedAccessType(VTy, Factor, Alignment, in isLegalInterleavedAccessType()
543 return TTIImpl->isLegalMaskedVectorHistogram(AddrType, DataType); in isLegalMaskedVectorHistogram()
547 return TTIImpl->enableOrderedReductions(); in enableOrderedReductions()
551 return TTIImpl->hasDivRemOp(DataType, IsSigned); in hasDivRemOp()
556 return TTIImpl->hasVolatileVariant(I, AddrSpace); in hasVolatileVariant()
560 return TTIImpl->prefersVectorizedAddressing(); in prefersVectorizedAddressing()
566 InstructionCost Cost = TTIImpl->getScalingFactorCost( in getScalingFactorCost()
573 return TTIImpl->LSRWithInstrQueries(); in LSRWithInstrQueries()
577 return TTIImpl->isTruncateFree(Ty1, Ty2); in isTruncateFree()
581 return TTIImpl->isProfitableToHoist(I); in isProfitableToHoist()
584 bool TargetTransformInfo::useAA() const { return TTIImpl->useAA(); } in useAA()
587 return TTIImpl->isTypeLegal(Ty); in isTypeLegal()
591 return TTIImpl->getRegUsageForType(Ty); in getRegUsageForType()
595 return TTIImpl->shouldBuildLookupTables(); in shouldBuildLookupTables()
600 return TTIImpl->shouldBuildLookupTablesForConstant(C); in shouldBuildLookupTablesForConstant()
604 return TTIImpl->shouldBuildRelLookupTables(); in shouldBuildRelLookupTables()
608 return TTIImpl->useColdCCForColdCall(F); in useColdCCForColdCall()
613 return TTIImpl->isTargetIntrinsicTriviallyScalarizable(ID); in isTargetIntrinsicTriviallyScalarizable()
618 return TTIImpl->isTargetIntrinsicWithScalarOpAtArg(ID, ScalarOpdIdx); in isTargetIntrinsicWithScalarOpAtArg()
623 return TTIImpl->isTargetIntrinsicWithOverloadTypeAtArg(ID, OpdIdx); in isTargetIntrinsicWithOverloadTypeAtArg()
628 return TTIImpl->isTargetIntrinsicWithStructReturnOverloadAtField(ID, RetIdx); in isTargetIntrinsicWithStructReturnOverloadAtField()
635 return TTIImpl->getScalarizationOverhead(Ty, DemandedElts, Insert, Extract, in getScalarizationOverhead()
642 return TTIImpl->getOperandsScalarizationOverhead(Args, Tys, CostKind); in getOperandsScalarizationOverhead()
646 return TTIImpl->supportsEfficientVectorElementLoadStore(); in supportsEfficientVectorElementLoadStore()
650 return TTIImpl->supportsTailCalls(); in supportsTailCalls()
654 return TTIImpl->supportsTailCallFor(CB); in supportsTailCallFor()
659 return TTIImpl->enableAggressiveInterleaving(LoopHasReductions); in enableAggressiveInterleaving()
664 return TTIImpl->enableMemCmpExpansion(OptSize, IsZeroCmp); in enableMemCmpExpansion()
668 return TTIImpl->enableSelectOptimize(); in enableSelectOptimize()
673 return TTIImpl->shouldTreatInstructionLikeSelect(I); in shouldTreatInstructionLikeSelect()
677 return TTIImpl->enableInterleavedAccessVectorization(); in enableInterleavedAccessVectorization()
681 return TTIImpl->enableMaskedInterleavedAccessVectorization(); in enableMaskedInterleavedAccessVectorization()
685 return TTIImpl->isFPVectorizationPotentiallyUnsafe(); in isFPVectorizationPotentiallyUnsafe()
694 return TTIImpl->allowsMisalignedMemoryAccesses(Context, BitWidth, in allowsMisalignedMemoryAccesses()
700 return TTIImpl->getPopcntSupport(IntTyWidthInBit); in getPopcntSupport()
704 return TTIImpl->haveFastSqrt(Ty); in haveFastSqrt()
709 return TTIImpl->isExpensiveToSpeculativelyExecute(I); in isExpensiveToSpeculativelyExecute()
713 return TTIImpl->isFCmpOrdCheaperThanFCmpZero(Ty); in isFCmpOrdCheaperThanFCmpZero()
717 InstructionCost Cost = TTIImpl->getFPOpCost(Ty); in getFPOpCost()
726 InstructionCost Cost = TTIImpl->getIntImmCodeSizeCost(Opcode, Idx, Imm, Ty); in getIntImmCodeSizeCost()
734 InstructionCost Cost = TTIImpl->getIntImmCost(Imm, Ty, CostKind); in getIntImmCost()
743 TTIImpl->getIntImmCostInst(Opcode, Idx, Imm, Ty, CostKind, Inst); in getIntImmCostInst()
753 TTIImpl->getIntImmCostIntrin(IID, Idx, Imm, Ty, CostKind); in getIntImmCostIntrin()
760 return TTIImpl->preferToKeepConstantsAttached(Inst, Fn); in preferToKeepConstantsAttached()
764 return TTIImpl->getNumberOfRegisters(ClassID); in getNumberOfRegisters()
769 return TTIImpl->hasConditionalLoadStoreForType(Ty, IsStore); in hasConditionalLoadStoreForType()
774 return TTIImpl->getRegisterClassForType(Vector, Ty); in getRegisterClassForType()
778 return TTIImpl->getRegisterClassName(ClassID); in getRegisterClassName()
783 return TTIImpl->getRegisterBitWidth(K); in getRegisterBitWidth()
787 return TTIImpl->getMinVectorRegisterBitWidth(); in getMinVectorRegisterBitWidth()
791 return TTIImpl->getMaxVScale(); in getMaxVScale()
795 return TTIImpl->getVScaleForTuning(); in getVScaleForTuning()
799 return TTIImpl->isVScaleKnownToBeAPowerOfTwo(); in isVScaleKnownToBeAPowerOfTwo()
804 return TTIImpl->shouldMaximizeVectorBandwidth(K); in shouldMaximizeVectorBandwidth()
809 return TTIImpl->getMinimumVF(ElemWidth, IsScalable); in getMinimumVF()
814 return TTIImpl->getMaximumVF(ElemWidth, Opcode); in getMaximumVF()
819 return TTIImpl->getStoreMinimumVF(VF, ScalarMemTy, ScalarValTy); in getStoreMinimumVF()
824 return TTIImpl->shouldConsiderAddressTypePromotion( in shouldConsiderAddressTypePromotion()
830 : TTIImpl->getCacheLineSize(); in getCacheLineSize()
835 return TTIImpl->getCacheSize(Level); in getCacheSize()
840 return TTIImpl->getCacheAssociativity(Level); in getCacheAssociativity()
845 : TTIImpl->getMinPageSize(); in getMinPageSize()
849 return TTIImpl->getPrefetchDistance(); in getPrefetchDistance()
855 return TTIImpl->getMinPrefetchStride(NumMemAccesses, NumStridedMemAccesses, in getMinPrefetchStride()
860 return TTIImpl->getMaxPrefetchIterationsAhead(); in getMaxPrefetchIterationsAhead()
864 return TTIImpl->enableWritePrefetching(); in enableWritePrefetching()
868 return TTIImpl->shouldPrefetchAddressSpace(AS); in shouldPrefetchAddressSpace()
876 return TTIImpl->getPartialReductionCost(Opcode, InputTypeA, InputTypeB, in getPartialReductionCost()
882 return TTIImpl->getMaxInterleaveFactor(VF); in getMaxInterleaveFactor()
971 TTIImpl->getArithmeticInstrCost(Opcode, Ty, CostKind, in getArithmeticInstrCost()
982 TTIImpl->getAltInstrCost(VecTy, Opcode0, Opcode1, OpcodeMask, CostKind); in getAltInstrCost()
996 InstructionCost Cost = TTIImpl->getShuffleCost( in getShuffleCost()
1061 TTIImpl->getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I); in getCastInstrCost()
1070 TTIImpl->getExtractWithExtendCost(Opcode, Dst, VecTy, Index, CostKind); in getExtractWithExtendCost()
1079 InstructionCost Cost = TTIImpl->getCFInstrCost(Opcode, CostKind, I); in getCFInstrCost()
1090 InstructionCost Cost = TTIImpl->getCmpSelInstrCost( in getCmpSelInstrCost()
1103 TTIImpl->getVectorInstrCost(Opcode, Val, CostKind, Index, Op0, Op1); in getVectorInstrCost()
1115 InstructionCost Cost = TTIImpl->getVectorInstrCost( in getVectorInstrCost()
1128 InstructionCost Cost = TTIImpl->getVectorInstrCost(I, Val, CostKind, Index); in getVectorInstrCost()
1138 InstructionCost Cost = TTIImpl->getInsertExtractValueCost(Opcode, CostKind); in getInsertExtractValueCost()
1146 InstructionCost Cost = TTIImpl->getReplicationShuffleCost( in getReplicationShuffleCost()
1158 InstructionCost Cost = TTIImpl->getMemoryOpCost( in getMemoryOpCost()
1167 InstructionCost Cost = TTIImpl->getMaskedMemoryOpCost(Opcode, Src, Alignment, in getMaskedMemoryOpCost()
1176 InstructionCost Cost = TTIImpl->getGatherScatterOpCost( in getGatherScatterOpCost()
1186 InstructionCost Cost = TTIImpl->getExpandCompressMemoryOpCost( in getExpandCompressMemoryOpCost()
1195 InstructionCost Cost = TTIImpl->getStridedMemoryOpCost( in getStridedMemoryOpCost()
1205 InstructionCost Cost = TTIImpl->getInterleavedMemoryOpCost( in getInterleavedMemoryOpCost()
1215 InstructionCost Cost = TTIImpl->getIntrinsicInstrCost(ICA, CostKind); in getIntrinsicInstrCost()
1224 InstructionCost Cost = TTIImpl->getCallInstrCost(F, RetTy, Tys, CostKind); in getCallInstrCost()
1230 return TTIImpl->getNumberOfParts(Tp); in getNumberOfParts()
1236 InstructionCost Cost = TTIImpl->getAddressComputationCost(Tp, SE, Ptr); in getAddressComputationCost()
1242 InstructionCost Cost = TTIImpl->getMemcpyCost(I); in getMemcpyCost()
1248 return TTIImpl->getMaxMemIntrinsicInlineSizeThreshold(); in getMaxMemIntrinsicInlineSizeThreshold()
1255 TTIImpl->getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
1264 TTIImpl->getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
1272 return TTIImpl->getExtendedReductionCost(Opcode, IsUnsigned, ResTy, Ty, FMF, in getExtendedReductionCost()
1279 return TTIImpl->getMulAccReductionCost(IsUnsigned, ResTy, Ty, CostKind); in getMulAccReductionCost()
1284 return TTIImpl->getCostOfKeepingLiveOverCall(Tys); in getCostOfKeepingLiveOverCall()
1289 return TTIImpl->getTgtMemIntrinsic(Inst, Info); in getTgtMemIntrinsic()
1293 return TTIImpl->getAtomicMemIntrinsicMaxElementSize(); in getAtomicMemIntrinsicMaxElementSize()
1298 return TTIImpl->getOrCreateResultFromMemIntrinsic(Inst, ExpectedType, in getOrCreateResultFromMemIntrinsic()
1306 return TTIImpl->getMemcpyLoopLoweringType(Context, Length, SrcAddrSpace, in getMemcpyLoopLoweringType()
1316 TTIImpl->getMemcpyLoopResidualLoweringType( in getMemcpyLoopResidualLoweringType()
1323 return TTIImpl->areInlineCompatible(Caller, Callee); in areInlineCompatible()
1330 return TTIImpl->getInlineCallPenalty(F, Call, DefaultCallPenalty); in getInlineCallPenalty()
1336 return TTIImpl->areTypesABICompatible(Caller, Callee, Types); in areTypesABICompatible()
1341 return TTIImpl->isIndexedLoadLegal(Mode, Ty); in isIndexedLoadLegal()
1346 return TTIImpl->isIndexedStoreLegal(Mode, Ty); in isIndexedStoreLegal()
1350 return TTIImpl->getLoadStoreVecRegBitWidth(AS); in getLoadStoreVecRegBitWidth()
1354 return TTIImpl->isLegalToVectorizeLoad(LI); in isLegalToVectorizeLoad()
1358 return TTIImpl->isLegalToVectorizeStore(SI); in isLegalToVectorizeStore()
1363 return TTIImpl->isLegalToVectorizeLoadChain(ChainSizeInBytes, Alignment, in isLegalToVectorizeLoadChain()
1369 return TTIImpl->isLegalToVectorizeStoreChain(ChainSizeInBytes, Alignment, in isLegalToVectorizeStoreChain()
1375 return TTIImpl->isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()
1379 return TTIImpl->isElementTypeLegalForScalableVector(Ty); in isElementTypeLegalForScalableVector()
1386 return TTIImpl->getLoadVectorFactor(VF, LoadSize, ChainSizeInBytes, VecTy); in getLoadVectorFactor()
1393 return TTIImpl->getStoreVectorFactor(VF, StoreSize, ChainSizeInBytes, VecTy); in getStoreVectorFactor()
1397 return TTIImpl->preferFixedOverScalableIfEqualCost(); in preferFixedOverScalableIfEqualCost()
1402 return TTIImpl->preferInLoopReduction(Kind, Ty); in preferInLoopReduction()
1406 return TTIImpl->preferAlternateOpcodeVectorization(); in preferAlternateOpcodeVectorization()
1410 return TTIImpl->preferPredicatedReductionSelect(); in preferPredicatedReductionSelect()
1414 return TTIImpl->preferEpilogueVectorization(); in preferEpilogueVectorization()
1419 return TTIImpl->getVPLegalizationStrategy(VPI); in getVPLegalizationStrategy()
1423 return TTIImpl->hasArmWideBranch(Thumb); in hasArmWideBranch()
1427 return TTIImpl->getFeatureMask(F); in getFeatureMask()
1431 return TTIImpl->isMultiversionedFunction(F); in isMultiversionedFunction()
1435 return TTIImpl->getMaxNumArgs(); in getMaxNumArgs()
1439 return TTIImpl->shouldExpandReduction(II); in shouldExpandReduction()
1445 return TTIImpl->getPreferredExpandedReductionShuffle(II); in getPreferredExpandedReductionShuffle()
1449 return TTIImpl->getGISelRematGlobalCost(); in getGISelRematGlobalCost()
1453 return TTIImpl->getMinTripCountTailFoldingThreshold(); in getMinTripCountTailFoldingThreshold()
1457 return TTIImpl->supportsScalableVectors(); in supportsScalableVectors()
1461 return TTIImpl->enableScalableVectorization(); in enableScalableVectorization()
1465 return TTIImpl->hasActiveVectorLength(); in hasActiveVectorLength()
1470 return TTIImpl->isProfitableToSinkOperands(I, OpsToSink); in isProfitableToSinkOperands()
1474 return TTIImpl->isVectorShiftByScalarCheap(Ty); in isVectorShiftByScalarCheap()
1480 return TTIImpl->getNumBytesToPadGlobalArray(Size, ArrayType); in getNumBytesToPadGlobalArray()
1486 return TTIImpl->collectKernelLaunchBounds(F, LB); in collectKernelLaunchBounds()