LLVM: llvm::BasicTTIImplBase< T > Class Template Reference (original) (raw)
Base class which can be used to help build a TTI implementation. More...
#include "[llvm/CodeGen/BasicTTIImpl.h](BasicTTIImpl%5F8h%5Fsource.html)"
Protected Member Functions | |
---|---|
BasicTTIImplBase (const TargetMachine *TM, const DataLayout &DL) | |
virtual | ~BasicTTIImplBase ()=default |
![]() |
|
TargetTransformInfoImplCRTPBase (const DataLayout &DL) | |
![]() |
|
TargetTransformInfoImplBase (const DataLayout &DL) | |
unsigned | minRequiredElementSize (const Value *Val, bool &isSigned) const |
bool | isStridedAccess (const SCEV *Ptr) const |
const SCEVConstant * | getConstantStrideStep (ScalarEvolution *SE, const SCEV *Ptr) const |
bool | isConstantStridedAccessLessThan (ScalarEvolution *SE, const SCEV *Ptr, int64_t MergeDistance) const |
Protected Attributes | |
---|---|
const DataLayout & | DL |
![]() |
|
const DataLayout & | DL |
template<typename T>
class llvm::BasicTTIImplBase< T >
Base class which can be used to help build a TTI implementation.
This class provides as much implementation of the TTI interface as is possible using the target independent parts of the code generator.
In order to subclass it, your class must implement a getST() method to return the subtarget, and a getTLI() method to return the target lowering. We need these methods implemented in the derived class so that this class doesn't have to duplicate storage for them.
Definition at line 80 of file BasicTTIImpl.h.
◆ ~BasicTTIImplBase()
◆ addrspacesMayAlias()
◆ adjustInliningThreshold()
◆ allowsMisalignedMemoryAccesses()
◆ areInlineCompatible()
◆ collectFlatAddressOperands()
◆ enableWritePrefetching()
◆ getAddressComputationCost()
◆ getArithmeticInstrCost()
◆ getArithmeticReductionCost()
◆ getAssumedAddrSpace()
◆ getCacheAssociativity()
◆ getCacheLineSize()
◆ getCacheSize()
◆ getCallerAllocaCost()
◆ getCallInstrCost()
Compute a cost of the given call instruction.
Compute the cost of calling function F with return type RetTy and argument types Tys. F might be nullptr, in this case the cost of an arbitrary call with the specified signature will be returned. This is used, for instance, when we estimate call of a vector counterpart of the given function.
Parameters
F | Called function, might be nullptr. |
---|---|
RetTy | Return value types. |
Tys | Argument types. |
Returns
The cost of Call instruction.
Definition at line 2661 of file BasicTTIImpl.h.
◆ getCastInstrCost()
Definition at line 1116 of file BasicTTIImpl.h.
References assert(), CostKind, llvm::BasicTTIImplBase< T >::DL, llvm::TargetTransformInfoImplBase::getCastInstrCost(), llvm::TargetTransformInfo::getCastInstrCost(), llvm::EVT::getEVT(), llvm::VectorType::getHalfElementsVectorType(), llvm::InstructionCost::getInvalid(), llvm::BasicTTIImplBase< T >::getScalarizationOverhead(), llvm::TargetLoweringBase::getTypeAction(), llvm::BasicTTIImplBase< T >::getTypeLegalizationCost(), llvm::TargetLoweringBase::getValueType(), I, llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::TargetLoweringBase::isFreeAddrSpaceCast(), llvm::TargetLoweringBase::isLoadExtLegal(), llvm::TargetLoweringBase::isOperationExpand(), llvm::TargetLoweringBase::isOperationLegalOrPromote(), llvm::TargetLoweringBase::isTruncateFree(), llvm::TargetLoweringBase::isZExtFree(), llvm_unreachable, llvm::TargetTransformInfo::Normal, llvm::ISD::SEXTLOAD, llvm::TargetLoweringBase::TypeSplitVector, and llvm::ISD::ZEXTLOAD.
◆ getCFInstrCost()
◆ getCmpSelInstrCost()
◆ getEpilogueVectorizationMinVF()
◆ getEstimatedNumberOfCaseClusters()
Try to find the estimated number of clusters. Note that the number of clusters identified in this function could be different from the actual numbers found in lowering. This function ignore switches that are lowered with a mix of jump table / bit test / BTree. This function was initially intended to be used when estimating the cost of switch in inline cost heuristic, but it's a generic cost model to be used in other places (e.g., in loop unrolling).
Definition at line 484 of file BasicTTIImpl.h.
References llvm::TargetLoweringBase::areJTsAllowed(), llvm::BasicTTIImplBase< T >::DL, llvm::TargetTransformInfoImplBase::getDataLayout(), llvm::DataLayout::getIndexSizeInBits(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::TargetLoweringBase::isSuitableForBitTests(), llvm::TargetLoweringBase::isSuitableForJumpTable(), N, Range, llvm::APInt::sgt(), llvm::SmallPtrSetImplBase::size(), and llvm::APInt::slt().
◆ getExtendedReductionCost()
◆ getExtractWithExtendCost()
◆ getFlatAddressSpace()
◆ getFPOpCost()
◆ getGatherScatterOpCost()
◆ getGEPCost()
◆ getInlinerVectorBonusPercent()
◆ getInliningThresholdMultiplier()
◆ getInterleavedMemoryOpCost()
Definition at line 1483 of file BasicTTIImpl.h.
References assert(), CostKind, llvm::BitVector::count(), llvm::divideCeil(), llvm::FixedVectorType::get(), llvm::APInt::getAllOnes(), llvm::Type::getInt8Ty(), llvm::InstructionCost::getInvalid(), llvm::MVT::getStoreSize(), llvm::BasicTTIImplBase< T >::getTypeLegalizationCost(), llvm::InstructionCost::getValue(), llvm::APInt::getZero(), Index, llvm::InstructionCost::isValid(), llvm::BitVector::set(), llvm::APInt::setBit(), and llvm::ArrayRef< T >::size().
◆ getIntrinsicInstrCost()
Get intrinsic cost based on arguments.
Definition at line 1627 of file BasicTTIImpl.h.
References assert(), CostKind, llvm::Data, llvm::BasicTTIImplBase< T >::DL, llvm::ArrayRef< T >::drop_back(), llvm::ArrayRef< T >::drop_front(), llvm::Exponent, llvm::VectorType::get(), llvm::DataLayout::getABITypeAlign(), llvm::IntrinsicCostAttributes::getArgs(), llvm::IntrinsicCostAttributes::getArgTypes(), llvm::TargetLoweringBase::getBitWidthForCttzElements(), llvm::ElementCount::getFixed(), llvm::IntrinsicCostAttributes::getFlags(), llvm::VPIntrinsic::getFunctionalIntrinsicIDForVP(), llvm::VPIntrinsic::getFunctionalOpcodeForVP(), llvm::IntrinsicCostAttributes::getID(), llvm::IntrinsicCostAttributes::getInst(), llvm::Type::getIntNTy(), llvm::TargetTransformInfoImplBase::getIntrinsicInstrCost(), llvm::InstructionCost::getInvalid(), llvm::TargetTransformInfo::getOperandInfo(), llvm::BasicTTIImplBase< T >::getOperandsScalarizationOverhead(), llvm::IntrinsicCostAttributes::getReturnType(), llvm::BasicTTIImplBase< T >::getScalarizationOverhead(), getType(), llvm::BasicTTIImplBase< T >::getTypeBasedIntrinsicInstrCost(), llvm::BasicTTIImplBase< T >::getTypeLegalizationCost(), llvm::TargetLoweringBase::getValueType(), llvm::EVT::getVectorElementCount(), llvm::getVScaleRange(), llvm::APInt::getZero(), I, llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_ULT, Index, llvm::TargetLoweringBase::isBeneficialToExpandPowI(), llvm::TargetLoweringBase::isCheapToSpeculateCtlz(), llvm::TargetLoweringBase::isCheapToSpeculateCttz(), llvm::TargetTransformInfo::OperandValueInfo::isConstant(), llvm::isPowerOf2_32(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable(), llvm::ElementCount::isScalar(), llvm::Intrinsic::isTargetIntrinsic(), llvm::IntrinsicCostAttributes::isTypeBasedOnly(), llvm::ElementCount::isVector(), llvm::VPBinOpIntrinsic::isVPBinOp(), llvm::VPCastIntrinsic::isVPCast(), llvm::VPCmpIntrinsic::isVPCmp(), llvm::VPIntrinsic::isVPIntrinsic(), llvm::VPReductionIntrinsic::isVPReduction(), llvm::TargetTransformInfo::OperandValueInfo::Kind, llvm::TargetTransformInfo::None, llvm::TargetTransformInfo::OK_UniformConstantValue, llvm::TargetTransformInfo::OP_None, llvm::TargetTransformInfo::OP_PowerOf2, Ptr, RetTy, llvm::TargetTransformInfo::SK_ExtractSubvector, llvm::TargetTransformInfo::SK_InsertSubvector, llvm::TargetTransformInfo::SK_Reverse, llvm::TargetTransformInfo::SK_Splice, llvm::TargetTransformInfo::TCC_Basic, X, and Y.
Referenced by llvm::BasicTTIImplBase< T >::getMinMaxReductionCost().
◆ getMaskedMemoryOpCost()
◆ getMaxInterleaveFactor()
◆ getMaxPrefetchIterationsAhead()
◆ getMaxVScale()
◆ getMemoryOpCost()
◆ getMinMaxReductionCost()
◆ getMinPrefetchStride()
◆ getMulAccReductionCost()
◆ getNumberOfParts()
◆ getOperandsScalarizationOverhead()
Estimate the overhead of scalarizing an instructions unique non-constant operands.
The (potentially vector) types to use for each of argument are passes via Tys.
Definition at line 875 of file BasicTTIImpl.h.
References A, assert(), CostKind, E, llvm::BasicTTIImplBase< T >::getScalarizationOverhead(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::Type::isFPOrFPVectorTy(), llvm::Type::isIntOrIntVectorTy(), and llvm::Type::isPtrOrPtrVectorTy().
Referenced by llvm::BasicTTIImplBase< T >::getIntrinsicInstrCost(), and llvm::BasicTTIImplBase< T >::getScalarizationOverhead().
◆ getOrderedReductionCost()
Try to calculate the cost of performing strict (in-order) reductions, which involves doing a sequence of floating point additions in lane order, starting with an initial value.
For example, consider a scalar initial value 'InitVal' of type float and a vector of type <4 x float>:
Vector = <float v0, float v1, float v2, float v3>
add1 = InitVal + v0 add2 = add1 + v1 add3 = add2 + v2 add4 = add3 + v3
As a simple estimate we can say the cost of such a reduction is 4 times the cost of a scalar FP addition. We can only estimate the costs for fixed-width vectors here because for scalable vectors we do not know the runtime number of operations.
Definition at line 2786 of file BasicTTIImpl.h.
References CostKind, llvm::VectorType::getElementType(), llvm::InstructionCost::getInvalid(), llvm::FixedVectorType::getNumElements(), and llvm::BasicTTIImplBase< T >::getScalarizationOverhead().
Referenced by llvm::BasicTTIImplBase< T >::getArithmeticReductionCost().
◆ getPeelingPreferences()
◆ getPredicatedAddrSpace()
◆ getPreferredLargeGEPBaseOffset()
template<typename T >
int64_t llvm::BasicTTIImplBase< T >::getPreferredLargeGEPBaseOffset ( int64_t MinOffset, int64_t MaxOffset ) | inline |
---|
◆ getPreferredTailFoldingStyle()
◆ getPrefetchDistance()
◆ getRegisterBitWidth()
◆ getRegUsageForType()
◆ getReplicationShuffleCost()
◆ getScalarizationOverhead() [1/3]
◆ getScalarizationOverhead() [2/3]
◆ getScalarizationOverhead() [3/3]
◆ getScalingFactorCost()
◆ getShuffleCost()
◆ getStoreMinimumVF()
◆ getStridedMemoryOpCost()
◆ getTreeReductionCost()
Try to calculate arithmetic and shuffle op costs for reduction intrinsics.
We're assuming that reduction operation are performing the following way:
val1 = shufflevector val, undef, <i32 n/2, i32 n/2 + 1, ..., i32 n, i32 undef, ..., i32 undef> -------------—v----------—/ -------—v---------—/ n/2 elements n/2 elements red1 = op val, val1 After this operation we have a vector red1 where only the first n/2 elements are meaningful, the second n/2 elements are undefined and can be dropped. All other operations are actually working with the vector of length n/2, not n, though the real vector length is still n. val2 = shufflevector red1, undef, <i32 n/4, i32 n/4 + 1, ..., i32 n/2, i32 undef, ..., i32 undef> -------------—v----------—/ -------—v---------—/ n/4 elements 3*n/4 elements red2 = op red1, val2 - working with the vector of length n/2, the resulting vector has length n/4 etc.
The cost model should take into account that the actual length of the vector is reduced on each iteration.
Definition at line 2710 of file BasicTTIImpl.h.
References llvm::CmpInst::BAD_ICMP_PREDICATE, CostKind, llvm::IntegerType::get(), llvm::FixedVectorType::get(), llvm::Type::getContext(), llvm::VectorType::getElementType(), llvm::Type::getInt1Ty(), llvm::InstructionCost::getInvalid(), llvm::Log2_32(), llvm::CmpInst::makeCmpResultType(), llvm::TargetTransformInfo::None, llvm::TargetTransformInfo::SK_ExtractSubvector, and llvm::TargetTransformInfo::SK_PermuteSingleSrc.
Referenced by llvm::BasicTTIImplBase< T >::getArithmeticReductionCost().
◆ getTypeBasedIntrinsicInstrCost()
Get intrinsic cost based on argument types.
If ScalarizationCostPassed is std::numeric_limits::max(), the cost of scalarizing the arguments and the return value will be computed based on types.
Definition at line 2000 of file BasicTTIImpl.h.
References llvm::ISD::ABS, llvm::any_of(), assert(), llvm::CmpInst::BAD_ICMP_PREDICATE, llvm::ISD::BITREVERSE, llvm::ISD::BSWAP, CostKind, llvm::StructType::create(), llvm::ISD::CTLZ, llvm::ISD::CTPOP, llvm::ISD::CTTZ, llvm::BasicTTIImplBase< T >::DL, llvm::ISD::FABS, llvm::ISD::FACOS, llvm::ISD::FASIN, llvm::ISD::FATAN, llvm::ISD::FATAN2, llvm::ISD::FCANONICALIZE, llvm::ISD::FCEIL, llvm::CmpInst::FCMP_UNO, llvm::ISD::FCOPYSIGN, llvm::ISD::FCOS, llvm::ISD::FCOSH, llvm::ISD::FEXP, llvm::ISD::FEXP10, llvm::ISD::FEXP2, llvm::ISD::FFLOOR, llvm::ISD::FLOG, llvm::ISD::FLOG10, llvm::ISD::FLOG2, llvm::ISD::FMA, llvm::ISD::FMAXIMUM, llvm::ISD::FMAXIMUMNUM, llvm::ISD::FMAXNUM, llvm::ISD::FMINIMUM, llvm::ISD::FMINIMUMNUM, llvm::ISD::FMINNUM, llvm::ISD::FNEARBYINT, llvm::ISD::FP_TO_SINT_SAT, llvm::ISD::FP_TO_UINT_SAT, llvm::ISD::FPOW, llvm::ISD::FRINT, llvm::ISD::FROUND, llvm::ISD::FROUNDEVEN, llvm::ISD::FSIN, llvm::ISD::FSINCOS, llvm::ISD::FSINH, llvm::ISD::FSQRT, llvm::ISD::FTAN, llvm::ISD::FTANH, llvm::ISD::FTRUNC, llvm::IntrinsicCostAttributes::getArgTypes(), llvm::getArithmeticReductionInstruction(), llvm::IntrinsicCostAttributes::getFlags(), llvm::CmpIntrinsic::getGTPredicate(), llvm::IntrinsicCostAttributes::getID(), llvm::InstructionCost::getInvalid(), llvm::CmpIntrinsic::getLTPredicate(), llvm::getMinMaxReductionIntrinsicOp(), getNumElements(), llvm::IntrinsicCostAttributes::getReturnType(), llvm::IntrinsicCostAttributes::getScalarizationCost(), llvm::BasicTTIImplBase< T >::getScalarizationOverhead(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::BasicTTIImplBase< T >::getTypeLegalizationCost(), llvm::TargetLoweringBase::getValueType(), llvm::Type::getWithNewBitWidth(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULT, llvm::TargetLoweringBase::isFAbsFree(), llvm::TargetLoweringBase::isOperationExpand(), llvm::TargetLoweringBase::isOperationLegalOrPromote(), llvm::Type::isVectorTy(), llvm::ISD::LLRINT, llvm::ISD::LRINT, llvm::TargetTransformInfo::None, llvm::TargetTransformInfo::OK_AnyValue, llvm::TargetTransformInfo::OK_UniformConstantValue, llvm::TargetTransformInfo::OP_None, llvm::SmallVectorTemplateBase< T, bool >::push_back(), RetTy, llvm::ISD::SADDO, llvm::ISD::SADDSAT, llvm::ISD::SCMP, llvm::TargetLoweringBase::shouldExpandCmpUsingSelects(), llvm::TargetTransformInfo::SK_Broadcast, llvm::IntrinsicCostAttributes::skipScalarizationCost(), llvm::ISD::SMAX, llvm::ISD::SMIN, llvm::ISD::SMULFIX, llvm::ISD::SMULO, llvm::ISD::SSUBO, llvm::ISD::SSUBSAT, llvm::ISD::STRICT_FMA, llvm::TargetTransformInfo::TCC_Expensive, llvm::TargetTransformInfo::TCK_CodeSize, llvm::ISD::UADDO, llvm::ISD::UADDSAT, llvm::ISD::UCMP, llvm::ISD::UMAX, llvm::ISD::UMIN, llvm::ISD::UMULFIX, llvm::ISD::UMULO, llvm::ISD::USUBO, and llvm::ISD::USUBSAT.
Referenced by llvm::BasicTTIImplBase< T >::getIntrinsicInstrCost().
◆ getTypeLegalizationCost()
Estimate the cost of type-legalization and the legalized type.
Definition at line 922 of file BasicTTIImpl.h.
References llvm::CallingConv::C, llvm::BasicTTIImplBase< T >::DL, llvm::Type::getContext(), llvm::InstructionCost::getInvalid(), llvm::EVT::getSimpleVT(), llvm::TargetLoweringBase::getTypeConversion(), llvm::TargetLoweringBase::getValueType(), llvm::EVT::isSimple(), llvm::TargetLoweringBase::TypeExpandInteger, llvm::TargetLoweringBase::TypeLegal, llvm::TargetLoweringBase::TypeScalarizeScalableVector, and llvm::TargetLoweringBase::TypeSplitVector.
Referenced by llvm::BasicTTIImplBase< T >::getCastInstrCost(), llvm::BasicTTIImplBase< T >::getInterleavedMemoryOpCost(), llvm::BasicTTIImplBase< T >::getIntrinsicInstrCost(), llvm::BasicTTIImplBase< T >::getNumberOfParts(), and llvm::BasicTTIImplBase< T >::getTypeBasedIntrinsicInstrCost().
◆ getUnrollingPreferences()
Definition at line 622 of file BasicTTIImpl.h.
References llvm::TargetTransformInfo::UnrollingPreferences::BEInsns, llvm::OptimizationRemarkEmitter::emit(), F, getCalledFunction(), I, llvm::TargetTransformInfoImplBase::isLoweredToCall(), llvm::TargetTransformInfo::UnrollingPreferences::OptSizeThreshold, llvm::TargetTransformInfo::UnrollingPreferences::Partial, llvm::TargetTransformInfo::UnrollingPreferences::PartialOptSizeThreshold, llvm::TargetTransformInfo::UnrollingPreferences::PartialThreshold, llvm::PartialUnrollingThreshold, llvm::TargetTransformInfo::UnrollingPreferences::Runtime, and llvm::TargetTransformInfo::UnrollingPreferences::UpperBound.
Referenced by llvm::ARMTTIImpl::getUnrollingPreferences(), and llvm::RISCVTTIImpl::getUnrollingPreferences().
◆ getVectorInstrCost() [1/3]
◆ getVectorInstrCost() [2/3]
◆ getVectorInstrCost() [3/3]
◆ getVectorSplitCost()
◆ getVScaleForTuning()
◆ hasBranchDivergence()
◆ haveFastSqrt()
◆ improveShuffleKindFromMask()
Definition at line 1035 of file BasicTTIImpl.h.
References llvm::FixedVectorType::get(), llvm::VectorType::getElementCount(), llvm::VectorType::getElementType(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getKnownMinValue(), Index, llvm::ShuffleVectorInst::isExtractSubvectorMask(), llvm::ShuffleVectorInst::isInsertSubvectorMask(), llvm::ShuffleVectorInst::isReverseMask(), llvm::ShuffleVectorInst::isSelectMask(), llvm::ShuffleVectorInst::isSpliceMask(), llvm::ShuffleVectorInst::isTransposeMask(), llvm::ShuffleVectorInst::isZeroEltSplatMask(), llvm::TargetTransformInfo::SK_Broadcast, llvm::TargetTransformInfo::SK_ExtractSubvector, llvm::TargetTransformInfo::SK_InsertSubvector, llvm::TargetTransformInfo::SK_PermuteSingleSrc, llvm::TargetTransformInfo::SK_PermuteTwoSrc, llvm::TargetTransformInfo::SK_Reverse, llvm::TargetTransformInfo::SK_Select, llvm::TargetTransformInfo::SK_Splice, and llvm::TargetTransformInfo::SK_Transpose.
◆ instCombineIntrinsic()
◆ isAlwaysUniform()
◆ isFCmpOrdCheaperThanFCmpZero()
◆ isHardwareLoopProfitable()
◆ isIndexedLoadLegal()
◆ isIndexedStoreLegal()
◆ isLegalAddImmediate()
◆ isLegalAddressingMode()
◆ isLegalAddScalableImmediate()
◆ isLegalICmpImmediate()
◆ isLSRCostLess()
◆ isNoopAddrSpaceCast()
◆ isNumRegsMajorCostOfLSR()
◆ isProfitableLSRChainElement()
◆ isProfitableToHoist()
◆ isSingleThreaded()
◆ isSourceOfDivergence()
◆ isTargetIntrinsicTriviallyScalarizable()
◆ isTargetIntrinsicWithOverloadTypeAtArg()
◆ isTargetIntrinsicWithScalarOpAtArg()
◆ isTargetIntrinsicWithStructReturnOverloadAtField()
◆ isTruncateFree()
◆ isTypeLegal()
◆ isValidAddrSpaceCast()
◆ isVScaleKnownToBeAPowerOfTwo()
◆ preferPredicateOverEpilogue()
◆ preferToKeepConstantsAttached()
◆ rewriteIntrinsicWithAddressSpace()
◆ shouldBuildLookupTables()
◆ shouldBuildRelLookupTables()
◆ shouldDropLSRSolutionIfLessProfitable()
◆ shouldPrefetchAddressSpace()
◆ simplifyDemandedUseBitsIntrinsic()
◆ simplifyDemandedVectorEltsIntrinsic()
◆ useAA()
◆ DL
Definition at line 39 of file TargetTransformInfoImpl.h.
Referenced by llvm::BasicTTIImplBase< T >::getCastInstrCost(), llvm::BasicTTIImplBase< T >::getEstimatedNumberOfCaseClusters(), llvm::BasicTTIImplBase< T >::getFPOpCost(), llvm::BasicTTIImplBase< T >::getIntrinsicInstrCost(), llvm::BasicTTIImplBase< T >::getRegUsageForType(), llvm::BasicTTIImplBase< T >::getScalingFactorCost(), llvm::BasicTTIImplBase< T >::getStoreMinimumVF(), llvm::BasicTTIImplBase< T >::getTypeBasedIntrinsicInstrCost(), llvm::BasicTTIImplBase< T >::getTypeLegalizationCost(), llvm::BasicTTIImplBase< T >::haveFastSqrt(), llvm::BasicTTIImplBase< T >::isIndexedLoadLegal(), llvm::BasicTTIImplBase< T >::isIndexedStoreLegal(), llvm::BasicTTIImplBase< T >::isLegalAddressingMode(), llvm::BasicTTIImplBase< T >::isTypeLegal(), and llvm::BasicTTIImplBase< T >::preferToKeepConstantsAttached().
The documentation for this class was generated from the following file:
- include/llvm/CodeGen/BasicTTIImpl.h