Lines Matching refs:Impl

221   template <typename T> TargetTransformInfo(T Impl);
2195 T Impl; variable
2198 Model(T Impl) : Impl(std::move(Impl)) {} in Model() argument
2202 return Impl.getDataLayout(); in getDataLayout()
2209 return Impl.getGEPCost(PointeeType, Ptr, Operands, AccessType, CostKind); in getGEPCost()
2216 return Impl.getPointersChainCost(Ptrs, Base, Info, AccessTy, CostKind); in getPointersChainCost()
2219 return Impl.getInliningThresholdMultiplier(); in getInliningThresholdMultiplier()
2222 return Impl.adjustInliningThreshold(CB); in adjustInliningThreshold()
2225 return Impl.getInliningCostBenefitAnalysisSavingsMultiplier(); in getInliningCostBenefitAnalysisSavingsMultiplier()
2228 return Impl.getInliningCostBenefitAnalysisProfitableMultiplier(); in getInliningCostBenefitAnalysisProfitableMultiplier()
2231 return Impl.getInlinerVectorBonusPercent(); in getInlinerVectorBonusPercent()
2235 return Impl.getCallerAllocaCost(CB, AI); in getCallerAllocaCost()
2238 return Impl.getMemcpyCost(I); in getMemcpyCost()
2242 return Impl.getMaxMemIntrinsicInlineSizeThreshold(); in getMaxMemIntrinsicInlineSizeThreshold()
2248 return Impl.getInstructionCost(U, Operands, CostKind); in getInstructionCost()
2251 return Impl.getPredictableBranchThreshold(); in getPredictableBranchThreshold()
2254 return Impl.getBranchMispredictPenalty(); in getBranchMispredictPenalty()
2257 return Impl.hasBranchDivergence(F);
2260 return Impl.isSourceOfDivergence(V); in isSourceOfDivergence()
2264 return Impl.isAlwaysUniform(V); in isAlwaysUniform()
2268 return Impl.isValidAddrSpaceCast(FromAS, ToAS); in isValidAddrSpaceCast()
2272 return Impl.addrspacesMayAlias(AS0, AS1); in addrspacesMayAlias()
2275 unsigned getFlatAddressSpace() override { return Impl.getFlatAddressSpace(); } in getFlatAddressSpace()
2279 return Impl.collectFlatAddressOperands(OpIndexes, IID); in collectFlatAddressOperands()
2283 return Impl.isNoopAddrSpaceCast(FromAS, ToAS); in isNoopAddrSpaceCast()
2288 return Impl.canHaveNonUndefGlobalInitializerInAddressSpace(AS); in canHaveNonUndefGlobalInitializerInAddressSpace()
2292 return Impl.getAssumedAddrSpace(V); in getAssumedAddrSpace()
2295 bool isSingleThreaded() const override { return Impl.isSingleThreaded(); } in isSingleThreaded()
2299 return Impl.getPredicatedAddrSpace(V); in getPredicatedAddrSpace()
2304 return Impl.rewriteIntrinsicWithAddressSpace(II, OldV, NewV); in rewriteIntrinsicWithAddressSpace()
2308 return Impl.isLoweredToCall(F); in isLoweredToCall()
2313 return Impl.getUnrollingPreferences(L, SE, UP, ORE); in getUnrollingPreferences()
2317 return Impl.getPeelingPreferences(L, SE, PP); in getPeelingPreferences()
2322 return Impl.isHardwareLoopProfitable(L, SE, AC, LibInfo, HWLoopInfo); in isHardwareLoopProfitable()
2325 return Impl.preferPredicateOverEpilogue(TFI); in preferPredicateOverEpilogue()
2329 return Impl.getPreferredTailFoldingStyle(IVUpdateMayOverflow);
2333 return Impl.instCombineIntrinsic(IC, II); in instCombineIntrinsic()
2339 return Impl.simplifyDemandedUseBitsIntrinsic(IC, II, DemandedMask, Known, in simplifyDemandedUseBitsIntrinsic()
2347 return Impl.simplifyDemandedVectorEltsIntrinsic( in simplifyDemandedVectorEltsIntrinsic()
2352 return Impl.isLegalAddImmediate(Imm); in isLegalAddImmediate()
2355 return Impl.isLegalAddScalableImmediate(Imm); in isLegalAddScalableImmediate()
2358 return Impl.isLegalICmpImmediate(Imm); in isLegalICmpImmediate()
2363 return Impl.isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg, Scale, in isLegalAddressingMode()
2368 return Impl.isLSRCostLess(C1, C2); in isLSRCostLess()
2371 return Impl.isNumRegsMajorCostOfLSR(); in isNumRegsMajorCostOfLSR()
2374 return Impl.shouldFoldTerminatingConditionAfterLSR(); in shouldFoldTerminatingConditionAfterLSR()
2377 return Impl.shouldDropLSRSolutionIfLessProfitable(); in shouldDropLSRSolutionIfLessProfitable()
2380 return Impl.isProfitableLSRChainElement(I); in isProfitableLSRChainElement()
2382 bool canMacroFuseCmp() override { return Impl.canMacroFuseCmp(); } in canMacroFuseCmp()
2386 return Impl.canSaveCmp(L, BI, SE, LI, DT, AC, LibInfo); in canSaveCmp()
2391 return Impl.getPreferredAddressingMode(L, SE); in getPreferredAddressingMode()
2394 return Impl.isLegalMaskedStore(DataType, Alignment); in isLegalMaskedStore()
2397 return Impl.isLegalMaskedLoad(DataType, Alignment); in isLegalMaskedLoad()
2400 return Impl.isLegalNTStore(DataType, Alignment); in isLegalNTStore()
2403 return Impl.isLegalNTLoad(DataType, Alignment); in isLegalNTLoad()
2407 return Impl.isLegalBroadcastLoad(ElementTy, NumElements); in isLegalBroadcastLoad()
2410 return Impl.isLegalMaskedScatter(DataType, Alignment); in isLegalMaskedScatter()
2413 return Impl.isLegalMaskedGather(DataType, Alignment); in isLegalMaskedGather()
2417 return Impl.forceScalarizeMaskedGather(DataType, Alignment); in forceScalarizeMaskedGather()
2421 return Impl.forceScalarizeMaskedScatter(DataType, Alignment); in forceScalarizeMaskedScatter()
2424 return Impl.isLegalMaskedCompressStore(DataType, Alignment); in isLegalMaskedCompressStore()
2427 return Impl.isLegalMaskedExpandLoad(DataType, Alignment); in isLegalMaskedExpandLoad()
2430 return Impl.isLegalStridedLoadStore(DataType, Alignment); in isLegalStridedLoadStore()
2433 return Impl.isLegalMaskedVectorHistogram(AddrType, DataType); in isLegalMaskedVectorHistogram()
2437 return Impl.isLegalAltInstr(VecTy, Opcode0, Opcode1, OpcodeMask); in isLegalAltInstr()
2440 return Impl.enableOrderedReductions(); in enableOrderedReductions()
2443 return Impl.hasDivRemOp(DataType, IsSigned); in hasDivRemOp()
2446 return Impl.hasVolatileVariant(I, AddrSpace); in hasVolatileVariant()
2449 return Impl.prefersVectorizedAddressing(); in prefersVectorizedAddressing()
2455 return Impl.getScalingFactorCost(Ty, BaseGV, BaseOffset, HasBaseReg, Scale, in getScalingFactorCost()
2458 bool LSRWithInstrQueries() override { return Impl.LSRWithInstrQueries(); } in LSRWithInstrQueries()
2460 return Impl.isTruncateFree(Ty1, Ty2); in isTruncateFree()
2463 return Impl.isProfitableToHoist(I); in isProfitableToHoist()
2465 bool useAA() override { return Impl.useAA(); } in useAA()
2466 bool isTypeLegal(Type *Ty) override { return Impl.isTypeLegal(Ty); } in isTypeLegal()
2468 return Impl.getRegUsageForType(Ty); in getRegUsageForType()
2471 return Impl.shouldBuildLookupTables(); in shouldBuildLookupTables()
2474 return Impl.shouldBuildLookupTablesForConstant(C); in shouldBuildLookupTablesForConstant()
2477 return Impl.shouldBuildRelLookupTables(); in shouldBuildRelLookupTables()
2480 return Impl.useColdCCForColdCall(F); in useColdCCForColdCall()
2487 return Impl.getScalarizationOverhead(Ty, DemandedElts, Insert, Extract, in getScalarizationOverhead()
2494 return Impl.getOperandsScalarizationOverhead(Args, Tys, CostKind); in getOperandsScalarizationOverhead()
2498 return Impl.supportsEfficientVectorElementLoadStore(); in supportsEfficientVectorElementLoadStore()
2501 bool supportsTailCalls() override { return Impl.supportsTailCalls(); } in supportsTailCalls()
2503 return Impl.supportsTailCallFor(CB); in supportsTailCallFor()
2507 return Impl.enableAggressiveInterleaving(LoopHasReductions); in enableAggressiveInterleaving()
2511 return Impl.enableMemCmpExpansion(OptSize, IsZeroCmp); in enableMemCmpExpansion()
2514 return Impl.enableSelectOptimize(); in enableSelectOptimize()
2517 return Impl.shouldTreatInstructionLikeSelect(I); in shouldTreatInstructionLikeSelect()
2520 return Impl.enableInterleavedAccessVectorization(); in enableInterleavedAccessVectorization()
2523 return Impl.enableMaskedInterleavedAccessVectorization(); in enableMaskedInterleavedAccessVectorization()
2526 return Impl.isFPVectorizationPotentiallyUnsafe(); in isFPVectorizationPotentiallyUnsafe()
2531 return Impl.allowsMisalignedMemoryAccesses(Context, BitWidth, AddressSpace, in allowsMisalignedMemoryAccesses()
2535 return Impl.getPopcntSupport(IntTyWidthInBit); in getPopcntSupport()
2537 bool haveFastSqrt(Type *Ty) override { return Impl.haveFastSqrt(Ty); } in haveFastSqrt()
2540 return Impl.isExpensiveToSpeculativelyExecute(I); in isExpensiveToSpeculativelyExecute()
2544 return Impl.isFCmpOrdCheaperThanFCmpZero(Ty); in isFCmpOrdCheaperThanFCmpZero()
2548 return Impl.getFPOpCost(Ty); in getFPOpCost()
2553 return Impl.getIntImmCodeSizeCost(Opc, Idx, Imm, Ty); in getIntImmCodeSizeCost()
2557 return Impl.getIntImmCost(Imm, Ty, CostKind); in getIntImmCost()
2563 return Impl.getIntImmCostInst(Opc, Idx, Imm, Ty, CostKind, Inst);
2568 return Impl.getIntImmCostIntrin(IID, Idx, Imm, Ty, CostKind); in getIntImmCostIntrin()
2572 return Impl.preferToKeepConstantsAttached(Inst, Fn); in preferToKeepConstantsAttached()
2575 return Impl.getNumberOfRegisters(ClassID); in getNumberOfRegisters()
2578 return Impl.hasConditionalLoadStoreForType(Ty);
2582 return Impl.getRegisterClassForType(Vector, Ty);
2585 return Impl.getRegisterClassName(ClassID); in getRegisterClassName()
2588 return Impl.getRegisterBitWidth(K); in getRegisterBitWidth()
2591 return Impl.getMinVectorRegisterBitWidth(); in getMinVectorRegisterBitWidth()
2594 return Impl.getMaxVScale(); in getMaxVScale()
2597 return Impl.getVScaleForTuning(); in getVScaleForTuning()
2600 return Impl.isVScaleKnownToBeAPowerOfTwo(); in isVScaleKnownToBeAPowerOfTwo()
2604 return Impl.shouldMaximizeVectorBandwidth(K); in shouldMaximizeVectorBandwidth()
2608 return Impl.getMinimumVF(ElemWidth, IsScalable); in getMinimumVF()
2611 return Impl.getMaximumVF(ElemWidth, Opcode); in getMaximumVF()
2615 return Impl.getStoreMinimumVF(VF, ScalarMemTy, ScalarValTy); in getStoreMinimumVF()
2619 return Impl.shouldConsiderAddressTypePromotion( in shouldConsiderAddressTypePromotion()
2622 unsigned getCacheLineSize() const override { return Impl.getCacheLineSize(); } in getCacheLineSize()
2624 return Impl.getCacheSize(Level); in getCacheSize()
2628 return Impl.getCacheAssociativity(Level); in getCacheAssociativity()
2632 return Impl.getMinPageSize(); in getMinPageSize()
2638 return Impl.getPrefetchDistance(); in getPrefetchDistance()
2648 return Impl.getMinPrefetchStride(NumMemAccesses, NumStridedMemAccesses, in getMinPrefetchStride()
2656 return Impl.getMaxPrefetchIterationsAhead(); in getMaxPrefetchIterationsAhead()
2661 return Impl.enableWritePrefetching(); in enableWritePrefetching()
2666 return Impl.shouldPrefetchAddressSpace(AS); in shouldPrefetchAddressSpace()
2670 return Impl.getMaxInterleaveFactor(VF); in getMaxInterleaveFactor()
2676 return Impl.getEstimatedNumberOfCaseClusters(SI, JTSize, PSI, BFI); in getEstimatedNumberOfCaseClusters()
2683 return Impl.getArithmeticInstrCost(Opcode, Ty, CostKind, Opd1Info, Opd2Info,
2690 return Impl.getAltInstrCost(VecTy, Opcode0, Opcode1, OpcodeMask, CostKind); in getAltInstrCost()
2699 return Impl.getShuffleCost(Kind, Tp, Mask, CostKind, Index, SubTp, Args, in getShuffleCost()
2706 return Impl.getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I); in getCastInstrCost()
2711 return Impl.getExtractWithExtendCost(Opcode, Dst, VecTy, Index); in getExtractWithExtendCost()
2715 return Impl.getCFInstrCost(Opcode, CostKind, I);
2721 return Impl.getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind, I); in getCmpSelInstrCost()
2727 return Impl.getVectorInstrCost(Opcode, Val, CostKind, Index, Op0, Op1); in getVectorInstrCost()
2732 return Impl.getVectorInstrCost(I, Val, CostKind, Index); in getVectorInstrCost()
2738 return Impl.getReplicationShuffleCost(EltTy, ReplicationFactor, VF, in getReplicationShuffleCost()
2746 return Impl.getMemoryOpCost(Opcode, Src, Alignment, AddressSpace, CostKind, in getMemoryOpCost()
2753 return Impl.getVPMemoryOpCost(Opcode, Src, Alignment, AddressSpace, in getVPMemoryOpCost()
2759 return Impl.getMaskedMemoryOpCost(Opcode, Src, Alignment, AddressSpace, in getMaskedMemoryOpCost()
2767 return Impl.getGatherScatterOpCost(Opcode, DataTy, Ptr, VariableMask,
2775 return Impl.getStridedMemoryOpCost(Opcode, DataTy, Ptr, VariableMask,
2782 return Impl.getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices, in getInterleavedMemoryOpCost()
2790 return Impl.getArithmeticReductionCost(Opcode, Ty, FMF, CostKind); in getArithmeticReductionCost()
2795 return Impl.getMinMaxReductionCost(IID, Ty, FMF, CostKind); in getMinMaxReductionCost()
2801 return Impl.getExtendedReductionCost(Opcode, IsUnsigned, ResTy, Ty, FMF, in getExtendedReductionCost()
2807 return Impl.getMulAccReductionCost(IsUnsigned, ResTy, Ty, CostKind); in getMulAccReductionCost()
2811 return Impl.getIntrinsicInstrCost(ICA, CostKind); in getIntrinsicInstrCost()
2816 return Impl.getCallInstrCost(F, RetTy, Tys, CostKind); in getCallInstrCost()
2819 return Impl.getNumberOfParts(Tp); in getNumberOfParts()
2823 return Impl.getAddressComputationCost(Ty, SE, Ptr); in getAddressComputationCost()
2826 return Impl.getCostOfKeepingLiveOverCall(Tys); in getCostOfKeepingLiveOverCall()
2830 return Impl.getTgtMemIntrinsic(Inst, Info); in getTgtMemIntrinsic()
2833 return Impl.getAtomicMemIntrinsicMaxElementSize(); in getAtomicMemIntrinsicMaxElementSize()
2837 return Impl.getOrCreateResultFromMemIntrinsic(Inst, ExpectedType); in getOrCreateResultFromMemIntrinsic()
2843 return Impl.getMemcpyLoopLoweringType(Context, Length, SrcAddrSpace, in getMemcpyLoopLoweringType()
2852 Impl.getMemcpyLoopResidualLoweringType(OpsOut, Context, RemainingBytes, in getMemcpyLoopResidualLoweringType()
2858 return Impl.areInlineCompatible(Caller, Callee); in areInlineCompatible()
2862 return Impl.getInlineCallPenalty(F, Call, DefaultCallPenalty); in getInlineCallPenalty()
2866 return Impl.areTypesABICompatible(Caller, Callee, Types); in areTypesABICompatible()
2869 return Impl.isIndexedLoadLegal(Mode, Ty, getDataLayout()); in isIndexedLoadLegal()
2872 return Impl.isIndexedStoreLegal(Mode, Ty, getDataLayout()); in isIndexedStoreLegal()
2875 return Impl.getLoadStoreVecRegBitWidth(AddrSpace); in getLoadStoreVecRegBitWidth()
2878 return Impl.isLegalToVectorizeLoad(LI); in isLegalToVectorizeLoad()
2881 return Impl.isLegalToVectorizeStore(SI); in isLegalToVectorizeStore()
2885 return Impl.isLegalToVectorizeLoadChain(ChainSizeInBytes, Alignment, in isLegalToVectorizeLoadChain()
2890 return Impl.isLegalToVectorizeStoreChain(ChainSizeInBytes, Alignment, in isLegalToVectorizeStoreChain()
2895 return Impl.isLegalToVectorizeReduction(RdxDesc, VF); in isLegalToVectorizeReduction()
2898 return Impl.isElementTypeLegalForScalableVector(Ty); in isElementTypeLegalForScalableVector()
2903 return Impl.getLoadVectorFactor(VF, LoadSize, ChainSizeInBytes, VecTy); in getLoadVectorFactor()
2908 return Impl.getStoreVectorFactor(VF, StoreSize, ChainSizeInBytes, VecTy); in getStoreVectorFactor()
2911 return Impl.preferFixedOverScalableIfEqualCost(); in preferFixedOverScalableIfEqualCost()
2915 return Impl.preferInLoopReduction(Opcode, Ty, Flags); in preferInLoopReduction()
2919 return Impl.preferPredicatedReductionSelect(Opcode, Ty, Flags); in preferPredicatedReductionSelect()
2922 return Impl.preferEpilogueVectorization(); in preferEpilogueVectorization()
2926 return Impl.shouldExpandReduction(II); in shouldExpandReduction()
2931 return Impl.getPreferredExpandedReductionShuffle(II); in getPreferredExpandedReductionShuffle()
2935 return Impl.getGISelRematGlobalCost(); in getGISelRematGlobalCost()
2939 return Impl.getMinTripCountTailFoldingThreshold(); in getMinTripCountTailFoldingThreshold()
2943 return Impl.supportsScalableVectors(); in supportsScalableVectors()
2947 return Impl.enableScalableVectorization(); in enableScalableVectorization()
2952 return Impl.hasActiveVectorLength(Opcode, DataType, Alignment); in hasActiveVectorLength()
2957 return Impl.getVPLegalizationStrategy(PI); in getVPLegalizationStrategy()
2961 return Impl.hasArmWideBranch(Thumb); in hasArmWideBranch()
2965 return Impl.getMaxNumArgs(); in getMaxNumArgs()
2970 TargetTransformInfo::TargetTransformInfo(T Impl) in TargetTransformInfo() argument
2971 : TTIImpl(new Model<T>(Impl)) {} in TargetTransformInfo()