|
LLVM 24.0.0git
|
Base class which can be used to help build a TTI implementation. More...
#include "llvm/CodeGen/BasicTTIImpl.h"
Protected Member Functions | |
| BasicTTIImplBase (const TargetMachine *TM, const DataLayout &DL) | |
| ~BasicTTIImplBase () override=default | |
| Protected Member Functions inherited from llvm::TargetTransformInfoImplCRTPBase< T > | |
| TargetTransformInfoImplCRTPBase (const DataLayout &DL) | |
| Protected Member Functions inherited from llvm::TargetTransformInfoImplBase | |
| 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 |
| Protected Attributes inherited from llvm::TargetTransformInfoImplBase | |
| const DataLayout & | DL |
Additional Inherited Members | |
| Protected Types inherited from llvm::TargetTransformInfoImplBase | |
| typedef TargetTransformInfo | TTI |
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 83 of file BasicTTIImpl.h.
|
inlineexplicitprotected |
Definition at line 378 of file BasicTTIImpl.h.
|
overrideprotecteddefault |
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl.
Definition at line 431 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, and llvm::SystemZTTIImpl.
Definition at line 728 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 388 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::NVPTXTTIImpl, and llvm::X86TTIImpl.
Definition at line 396 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::NVPTXTTIImpl, and llvm::SPIRVTTIImpl.
Definition at line 440 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::LoongArchTTIImpl, and llvm::SystemZTTIImpl.
Definition at line 900 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::HexagonTTIImpl, llvm::RISCVTTIImpl, and llvm::X86TTIImpl.
Definition at line 3292 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::BPFTTIImpl, llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::LanaiTTIImpl, llvm::NVPTXTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1092 of file BasicTTIImpl.h.
Referenced by llvm::WebAssemblyTTIImpl::getArithmeticInstrCost(), and llvm::BasicTTIImplBase< BasicTTIImpl >::getPartialReductionCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 3412 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::NVPTXTTIImpl.
Definition at line 449 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::X86TTIImpl.
Definition at line 859 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::X86TTIImpl.
Definition at line 870 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::LoongArchTTIImpl, llvm::PPCTTIImpl, and llvm::SystemZTTIImpl.
Definition at line 880 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::X86TTIImpl.
Definition at line 864 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getCacheSize().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl.
Definition at line 731 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
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.
| F | Called function, might be nullptr. |
| RetTy | Return value types. |
| Tys | Argument types. |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::HexagonTTIImpl.
Definition at line 3269 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1255 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getPartialReductionCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 1447 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::BPFTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 1452 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getIntrinsicInstrCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 824 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
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).
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 584 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::RISCVTTIImpl.
Definition at line 3472 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 1437 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::NVPTXTTIImpl, and llvm::SPIRVTTIImpl.
Definition at line 435 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 698 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 577 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::RISCVTTIImpl.
Definition at line 1545 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl.
Definition at line 736 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, and llvm::NVPTXTTIImpl.
Definition at line 727 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1642 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Get intrinsic cost based on arguments.
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 1790 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getMinMaxReductionCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::LoongArchTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 1087 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 896 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Get memory intrinsic cost based on arguments.
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::PPCTTIImpl, llvm::RISCVTTIImpl, and llvm::X86TTIImpl.
Definition at line 3197 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1591 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Try to calculate op costs for min/max reduction operations.
| CondTy | Conditional type for the Select instruction. |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 3424 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::SystemZTTIImpl.
Definition at line 888 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 3501 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl.
Definition at line 3274 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Estimate the overhead of scalarizing an instruction's operands.
The (potentially vector) types to use for each of argument are passes via Tys.
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 996 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getIntrinsicInstrCost(), and llvm::BasicTTIImplBase< BasicTTIImpl >::getScalarizationOverhead().
|
inline |
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 3394 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getArithmeticReductionCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::DirectXTTIImpl, llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::LoongArchTTIImpl, llvm::MipsTTIImpl, llvm::NVPTXTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SparcTTIImpl, llvm::SPIRVTTIImpl, llvm::SystemZTTIImpl, llvm::VETTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 3522 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::NVPTXTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, and llvm::SystemZTTIImpl.
Definition at line 810 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 454 of file BasicTTIImpl.h.
|
inline |
Definition at line 488 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::RISCVTTIImpl.
Definition at line 832 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::LoongArchTTIImpl, llvm::PPCTTIImpl, and llvm::SystemZTTIImpl.
Definition at line 884 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::LoongArchTTIImpl, llvm::NVPTXTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SparcTTIImpl, llvm::SystemZTTIImpl, llvm::VETTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 914 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::RISCVTTIImpl.
Definition at line 572 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getVectorInstrCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::X86TTIImpl.
Definition at line 1559 of file BasicTTIImpl.h.
|
inline |
Helper wrapper for the DemandedElts variant of getScalarizationOverhead.
Definition at line 979 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Estimate the overhead of scalarizing an instruction.
Insert and Extract are set if the demanded result elements need to be inserted and/or extracted from vectors.
FIXME: a bitfield is not a reasonable abstraction for talking about which elements are needed from a scalable vector
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::NVPTXTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 926 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getCastInstrCost(), llvm::BasicTTIImplBase< BasicTTIImpl >::getIntrinsicInstrCost(), llvm::BasicTTIImplBase< BasicTTIImpl >::getOperandsScalarizationOverhead(), llvm::BasicTTIImplBase< BasicTTIImpl >::getOrderedReductionCost(), llvm::BasicTTIImplBase< BasicTTIImpl >::getScalarizationOverhead(), and llvm::BasicTTIImplBase< BasicTTIImpl >::getTypeBasedIntrinsicInstrCost().
|
inline |
Estimate the overhead of scalarizing the inputs and outputs of an instruction, with return type RetTy and arguments Args of type Tys.
If Args are unknown (empty), then the cost associated with one argument is added as a heuristic.
Definition at line 1020 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, and llvm::X86TTIImpl.
Definition at line 542 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1226 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::X86TTIImpl.
Definition at line 492 of file BasicTTIImpl.h.
|
inline |
Try to calculate arithmetic and shuffle op costs for reduction intrinsics.
We're assuming that reduction operation are performing the following way:
val1 = shufflevector<n x t> val, <n x t> undef, <n x i32> <i32 n/2, i32 n/2 + 1, ..., i32 n, i32 undef, ..., i32 undef> -------------—v----------—/ -------—v---------—/ n/2 elements n/2 elements red1 = op <n x t> val, <n x t> 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<n x t> red1, <n x t> undef, <n x i32> <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 <n x t> red1, <n x t> 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 3318 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getArithmeticReductionCost().
|
inline |
Get intrinsic cost based on argument types.
If ScalarizationCostPassed is std::numeric_limits<unsigned>::max(), the cost of scalarizing the arguments and the return value will be computed based on types.
Definition at line 2299 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getIntrinsicInstrCost().
|
inline |
Estimate the cost of type-legalization and the legalized type.
Definition at line 1039 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getCastInstrCost(), llvm::BasicTTIImplBase< BasicTTIImpl >::getInterleavedMemoryOpCost(), llvm::BasicTTIImplBase< BasicTTIImpl >::getNumberOfParts(), and llvm::BasicTTIImplBase< BasicTTIImpl >::getTypeBasedIntrinsicInstrCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::NVPTXTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::WebAssemblyTTIImpl.
Definition at line 738 of file BasicTTIImpl.h.
Referenced by llvm::ARMTTIImpl::getUnrollingPreferences(), and llvm::RISCVTTIImpl::getUnrollingPreferences().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1527 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1505 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getVectorInstrCost(), and llvm::WebAssemblyTTIImpl::getVectorInstrCost().
|
inlineoverridevirtual |
| ScalarUserAndIdx | encodes the information about extracts from a vector with 'Scalar' being the value being extracted,'User' being the user of the extract(nullptr if user is not known before vectorization) and 'Idx' being the extract lane. |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, llvm::PPCTTIImpl, llvm::R600TTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 1516 of file BasicTTIImpl.h.
|
inline |
Definition at line 3565 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::RISCVTTIImpl.
Definition at line 918 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::HexagonTTIImpl, and llvm::NVPTXTTIImpl.
Definition at line 423 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 681 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 674 of file BasicTTIImpl.h.
|
inline |
Definition at line 1170 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::improveShuffleKindFromMask().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::NVPTXTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::WebAssemblyTTIImpl, and llvm::X86TTIImpl.
Definition at line 837 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::X86TTIImpl.
Definition at line 696 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::PPCTTIImpl.
Definition at line 818 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 515 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 520 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 463 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 475 of file BasicTTIImpl.h.
Referenced by llvm::BasicTTIImplBase< BasicTTIImpl >::getScalingFactorCost().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 467 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 471 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::MipsTTIImpl, llvm::PPCTTIImpl, llvm::RISCVTTIImpl, llvm::SystemZTTIImpl, and llvm::X86TTIImpl.
Definition at line 525 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 445 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, and llvm::PPCTTIImpl.
Definition at line 530 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 538 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 561 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::DirectXTTIImpl.
Definition at line 967 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::DirectXTTIImpl.
Definition at line 962 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 973 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 557 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 567 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl.
Definition at line 427 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::RISCVTTIImpl.
Definition at line 828 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 708 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, llvm::NVPTXTTIImpl, and llvm::SPIRVTTIImpl.
Definition at line 458 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::HexagonTTIImpl, and llvm::LanaiTTIImpl.
Definition at line 643 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Relative lookup table entries consist of 32-bit offsets. Do not generate relative lookup tables for large code models in 64-bit achitectures where 32-bit offsets might not be enough.
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::NVPTXTTIImpl, llvm::PPCTTIImpl, and llvm::VETTIImpl.
Definition at line 649 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl.
Definition at line 534 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl.
Definition at line 904 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::X86TTIImpl.
Definition at line 842 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Reimplemented in llvm::GCNTTIImpl, and llvm::X86TTIImpl.
Definition at line 849 of file BasicTTIImpl.h.
|
inlineoverridevirtual |
Reimplemented from llvm::TargetTransformInfoImplBase.
Definition at line 565 of file BasicTTIImpl.h.
|
protected |
Definition at line 40 of file TargetTransformInfoImpl.h.