LLVM
17.0.0git
|
#include "Target/RISCV/RISCVTargetTransformInfo.h"
Public Types | |
enum | RISCVRegisterClass { GPRRC, FPRRC, VRRC } |
Definition at line 29 of file RISCVTargetTransformInfo.h.
Enumerator | |
---|---|
GPRRC | |
FPRRC | |
VRRC |
Definition at line 291 of file RISCVTargetTransformInfo.h.
|
inlineexplicit |
Definition at line 55 of file RISCVTargetTransformInfo.h.
|
inline |
Definition at line 79 of file RISCVTargetTransformInfo.h.
References llvm::Data, and llvm::None.
|
inline |
Definition at line 78 of file RISCVTargetTransformInfo.h.
|
inline |
Definition at line 231 of file RISCVTargetTransformInfo.h.
|
inline |
Definition at line 236 of file RISCVTargetTransformInfo.h.
InstructionCost RISCVTTIImpl::getArithmeticInstrCost | ( | unsigned | Opcode, |
Type * | Ty, | ||
TTI::TargetCostKind | CostKind, | ||
TTI::OperandValueInfo | Op1Info = {TTI::OK_AnyValue, TTI::OP_None} , |
||
TTI::OperandValueInfo | Op2Info = {TTI::OK_AnyValue, TTI::OP_None} , |
||
ArrayRef< const Value * > | Args = ArrayRef<const Value *>() , |
||
const Instruction * | CxtI = nullptr |
||
) |
Definition at line 1295 of file RISCVTargetTransformInfo.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, llvm::AMDGPU::HSAMD::Kernel::Key::Args, llvm::RISCVTargetLowering::canSplatOperand(), CostKind, llvm::BasicTTIImplBase< RISCVTTIImpl >::DL, llvm::ISD::FADD, llvm::ISD::FMUL, llvm::ISD::FNEG, llvm::ISD::FSUB, llvm::DataLayout::getABITypeAlign(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getArithmeticInstrCost(), llvm::RISCVSubtarget::getELEN(), getMemoryOpCost(), llvm::Type::getScalarSizeInBits(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::TargetTransformInfo::OperandValueInfo::isConstant(), llvm::SPII::Load, llvm::AArch64CC::LT, llvm::ISD::MUL, llvm::ISD::MULHS, llvm::ISD::MULHU, llvm::ISD::OR, llvm::ISD::SHL, llvm::ISD::SRA, llvm::ISD::SRL, llvm::ISD::SUB, llvm::TargetTransformInfo::TCK_RecipThroughput, llvm::RISCVSubtarget::useRVVForFixedLengthVectors(), and llvm::ISD::XOR.
InstructionCost RISCVTTIImpl::getArithmeticReductionCost | ( | unsigned | Opcode, |
VectorType * | Ty, | ||
std::optional< FastMathFlags > | FMF, | ||
TTI::TargetCostKind | CostKind | ||
) |
Definition at line 1024 of file RISCVTargetTransformInfo.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, assert(), CostKind, llvm::ISD::FADD, llvm::BasicTTIImplBase< RISCVTTIImpl >::getArithmeticReductionCost(), llvm::VectorType::getElementType(), llvm::RISCVSubtarget::getELEN(), llvm::Type::getScalarSizeInBits(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::Type::isIntegerTy(), llvm::Log2_32_Ceil(), llvm::AArch64CC::LT, llvm::ISD::OR, llvm::TargetTransformInfo::requiresOrderedReduction(), llvm::RISCVSubtarget::useRVVForFixedLengthVectors(), and llvm::ISD::XOR.
Referenced by getExtendedReductionCost().
InstructionCost RISCVTTIImpl::getCastInstrCost | ( | unsigned | Opcode, |
Type * | Dst, | ||
Type * | Src, | ||
TTI::CastContextHint | CCH, | ||
TTI::TargetCostKind | CostKind, | ||
const Instruction * | I = nullptr |
||
) |
Definition at line 913 of file RISCVTargetTransformInfo.cpp.
References llvm::abs(), assert(), CostKind, llvm::ISD::FP_EXTEND, llvm::ISD::FP_ROUND, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT, llvm::BasicTTIImplBase< RISCVTTIImpl >::getCastInstrCost(), llvm::RISCVSubtarget::getELEN(), I, llvm::TargetLoweringBase::InstructionOpcodeToISD(), int, llvm::BasicTTIImplBase< RISCVTTIImpl >::isTypeLegal(), llvm::Log2_32(), llvm::ISD::SIGN_EXTEND, llvm::ISD::SINT_TO_FP, llvm::ISD::TRUNCATE, llvm::ISD::UINT_TO_FP, and llvm::ISD::ZERO_EXTEND.
InstructionCost RISCVTTIImpl::getCmpSelInstrCost | ( | unsigned | Opcode, |
Type * | ValTy, | ||
Type * | CondTy, | ||
CmpInst::Predicate | VecPred, | ||
TTI::TargetCostKind | CostKind, | ||
const Instruction * | I = nullptr |
||
) |
Definition at line 1117 of file RISCVTargetTransformInfo.cpp.
References CostKind, llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_UNE, llvm::BasicTTIImplBase< RISCVTTIImpl >::getCmpSelInstrCost(), llvm::RISCVSubtarget::getELEN(), llvm::Type::getScalarSizeInBits(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::RISCVSubtarget::hasVInstructionsF16(), llvm::RISCVSubtarget::hasVInstructionsF32(), llvm::RISCVSubtarget::hasVInstructionsF64(), I, llvm::CmpInst::isIntPredicate(), llvm::Type::isVectorTy(), llvm::AArch64CC::LT, llvm::MCID::Select, llvm::TargetTransformInfo::TCK_RecipThroughput, and llvm::RISCVSubtarget::useRVVForFixedLengthVectors().
InstructionCost RISCVTTIImpl::getExtendedReductionCost | ( | unsigned | Opcode, |
bool | IsUnsigned, | ||
Type * | ResTy, | ||
VectorType * | ValTy, | ||
std::optional< FastMathFlags > | FMF, | ||
TTI::TargetCostKind | CostKind | ||
) |
Definition at line 1054 of file RISCVTargetTransformInfo.cpp.
References llvm::MCID::Add, CostKind, getArithmeticReductionCost(), llvm::RISCVSubtarget::getELEN(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getExtendedReductionCost(), llvm::Type::getScalarSizeInBits(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::AArch64CC::LT, and llvm::RISCVSubtarget::useRVVForFixedLengthVectors().
InstructionCost RISCVTTIImpl::getGatherScatterOpCost | ( | unsigned | Opcode, |
Type * | DataTy, | ||
const Value * | Ptr, | ||
bool | VariableMask, | ||
Align | Alignment, | ||
TTI::TargetCostKind | CostKind, | ||
const Instruction * | I | ||
) |
Definition at line 341 of file RISCVTargetTransformInfo.cpp.
References Align, CostKind, llvm::BasicTTIImplBase< RISCVTTIImpl >::getGatherScatterOpCost(), getMemoryOpCost(), I, isLegalMaskedGather(), isLegalMaskedScatter(), llvm::SPII::Load, Ptr, llvm::SPII::Store, and llvm::TargetTransformInfo::TCK_RecipThroughput.
InstructionCost RISCVTTIImpl::getIntImmCost | ( | const APInt & | Imm, |
Type * | Ty, | ||
TTI::TargetCostKind | CostKind | ||
) |
Definition at line 56 of file RISCVTargetTransformInfo.cpp.
References assert(), llvm::BasicTTIImplBase< RISCVTTIImpl >::DL, llvm::TargetTransformInfoImplBase::getDataLayout(), llvm::RISCVMatInt::getIntMatCost(), llvm::DataLayout::getTypeSizeInBits(), llvm::RISCVMatInt::Imm, llvm::Type::isIntegerTy(), and llvm::TargetTransformInfo::TCC_Free.
Referenced by getIntImmCostInst().
InstructionCost RISCVTTIImpl::getIntImmCostInst | ( | unsigned | Opcode, |
unsigned | Idx, | ||
const APInt & | Imm, | ||
Type * | Ty, | ||
TTI::TargetCostKind | CostKind, | ||
Instruction * | Inst = nullptr |
||
) |
Definition at line 98 of file RISCVTargetTransformInfo.cpp.
References llvm::MCID::Add, assert(), canUseShiftPair(), CostKind, getIntImmCost(), llvm::RISCVSubtarget::getXLen(), llvm::RISCVMatInt::Imm, llvm::Instruction::isCommutative(), llvm::Type::isIntegerTy(), llvm::BasicTTIImplBase< RISCVTTIImpl >::isLegalAddImmediate(), Mul, and llvm::TargetTransformInfo::TCC_Free.
InstructionCost RISCVTTIImpl::getIntImmCostIntrin | ( | Intrinsic::ID | IID, |
unsigned | Idx, | ||
const APInt & | Imm, | ||
Type * | Ty, | ||
TTI::TargetCostKind | CostKind | ||
) |
Definition at line 182 of file RISCVTargetTransformInfo.cpp.
References llvm::TargetTransformInfo::TCC_Free.
InstructionCost RISCVTTIImpl::getIntrinsicInstrCost | ( | const IntrinsicCostAttributes & | ICA, |
TTI::TargetCostKind | CostKind | ||
) |
Definition at line 814 of file RISCVTargetTransformInfo.cpp.
References llvm::abs(), ceil, Cost, llvm::ISD::FCEIL, floor, llvm::IntrinsicCostAttributes::getID(), getISDForVPIntrinsicID(), llvm::IntrinsicCostAttributes::getReturnType(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::RISCVSubtarget::hasVInstructions(), llvm::TargetLoweringBase::isOperationCustom(), llvm::AArch64CC::LT, round(), llvm::APIntOps::smax(), llvm::APIntOps::smin(), trunc, llvm::APIntOps::umax(), and llvm::APIntOps::umin().
InstructionCost RISCVTTIImpl::getMaskedMemoryOpCost | ( | unsigned | Opcode, |
Type * | Src, | ||
Align | Alignment, | ||
unsigned | AddressSpace, | ||
TTI::TargetCostKind | CostKind | ||
) |
Definition at line 330 of file RISCVTargetTransformInfo.cpp.
References CostKind, llvm::BasicTTIImplBase< RISCVTTIImpl >::getMaskedMemoryOpCost(), getMemoryOpCost(), isLegalMaskedLoadStore(), and llvm::TargetTransformInfo::TCK_RecipThroughput.
unsigned RISCVTTIImpl::getMaximumVF | ( | unsigned | ElemWidth, |
unsigned | Opcode | ||
) | const |
Definition at line 1468 of file RISCVTargetTransformInfo.cpp.
References SLPMaxVF.
|
inline |
Definition at line 285 of file RISCVTargetTransformInfo.h.
std::optional< unsigned > RISCVTTIImpl::getMaxVScale | ( | ) | const |
Definition at line 209 of file RISCVTargetTransformInfo.cpp.
References llvm::BasicTTIImplBase< RISCVTTIImpl >::getMaxVScale(), llvm::RISCVSubtarget::getRealMaxVLen(), llvm::RISCVSubtarget::hasVInstructions(), and llvm::RISCV::RVVBitsPerBlock.
InstructionCost RISCVTTIImpl::getMemoryOpCost | ( | unsigned | Opcode, |
Type * | Src, | ||
MaybeAlign | Alignment, | ||
unsigned | AddressSpace, | ||
TTI::TargetCostKind | CostKind, | ||
TTI::OperandValueInfo | OpdInfo = {TTI::OK_AnyValue, TTI::OP_None} , |
||
const Instruction * | I = nullptr |
||
) |
Definition at line 1104 of file RISCVTargetTransformInfo.cpp.
References Cost, CostKind, llvm::BasicTTIImplBase< RISCVTTIImpl >::getMemoryOpCost(), getStoreImmCost(), I, llvm::TargetTransformInfo::OperandValueInfo::isConstant(), and llvm::SPII::Store.
Referenced by getArithmeticInstrCost(), getGatherScatterOpCost(), getMaskedMemoryOpCost(), and getStoreImmCost().
InstructionCost RISCVTTIImpl::getMinMaxReductionCost | ( | VectorType * | Ty, |
VectorType * | CondTy, | ||
bool | IsUnsigned, | ||
TTI::TargetCostKind | CostKind | ||
) |
Definition at line 1001 of file RISCVTargetTransformInfo.cpp.
References CostKind, llvm::VectorType::getElementType(), llvm::RISCVSubtarget::getELEN(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getMinMaxReductionCost(), llvm::Type::getScalarSizeInBits(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::Type::isIntegerTy(), llvm::Log2_32_Ceil(), llvm::AArch64CC::LT, and llvm::RISCVSubtarget::useRVVForFixedLengthVectors().
|
inline |
Definition at line 110 of file RISCVTargetTransformInfo.h.
|
inline |
Definition at line 292 of file RISCVTargetTransformInfo.h.
References llvm_unreachable.
void RISCVTTIImpl::getPeelingPreferences | ( | Loop * | L, |
ScalarEvolution & | SE, | ||
TTI::PeelingPreferences & | PP | ||
) |
Definition at line 1450 of file RISCVTargetTransformInfo.cpp.
References llvm::BasicTTIImplBase< RISCVTTIImpl >::getPeelingPreferences().
TargetTransformInfo::PopcntSupportKind RISCVTTIImpl::getPopcntSupport | ( | unsigned | TyWidth | ) |
Definition at line 190 of file RISCVTargetTransformInfo.cpp.
References assert(), llvm::isPowerOf2_32(), llvm::TargetTransformInfo::PSK_FastHardware, and llvm::TargetTransformInfo::PSK_Software.
TypeSize RISCVTTIImpl::getRegisterBitWidth | ( | TargetTransformInfo::RegisterKind | K | ) | const |
Definition at line 224 of file RISCVTargetTransformInfo.cpp.
References llvm::bit_floor(), llvm::TypeSize::getFixed(), llvm::RISCVSubtarget::getRealMinVLen(), llvm::TypeSize::getScalable(), llvm::RISCVSubtarget::getXLen(), llvm::RISCVSubtarget::hasVInstructions(), llvm_unreachable, llvm::XCoreISD::LMUL, llvm::TargetTransformInfo::RGK_FixedWidthVector, llvm::TargetTransformInfo::RGK_ScalableVector, llvm::TargetTransformInfo::RGK_Scalar, llvm::RISCV::RVVBitsPerBlock, RVVRegisterWidthLMUL, and llvm::RISCVSubtarget::useRVVForFixedLengthVectors().
|
inline |
Definition at line 312 of file RISCVTargetTransformInfo.h.
References llvm::Type::getScalarType(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isHalfTy(), and Vector.
|
inline |
Definition at line 328 of file RISCVTargetTransformInfo.h.
References llvm_unreachable.
unsigned RISCVTTIImpl::getRegUsageForType | ( | Type * | Ty | ) |
Definition at line 1455 of file RISCVTargetTransformInfo.cpp.
References llvm::divideCeil(), llvm::BasicTTIImplBase< RISCVTTIImpl >::DL, llvm::RISCVSubtarget::getRealMinVLen(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getRegUsageForType(), llvm::DataLayout::getTypeSizeInBits(), llvm::RISCVSubtarget::hasVInstructions(), llvm::Type::isVectorTy(), llvm::RISCV::RVVBitsPerBlock, and llvm::RISCVSubtarget::useRVVForFixedLengthVectors().
InstructionCost RISCVTTIImpl::getShuffleCost | ( | TTI::ShuffleKind | Kind, |
VectorType * | Tp, | ||
ArrayRef< int > | Mask, | ||
TTI::TargetCostKind | CostKind, | ||
int | Index, | ||
VectorType * | SubTp, | ||
ArrayRef< const Value * > | Args = std::nullopt |
||
) |
Definition at line 253 of file RISCVTargetTransformInfo.cpp.
References llvm::AMDGPU::HSAMD::Kernel::Key::Args, CostKind, llvm::VectorType::getElementType(), llvm::Operator::getOpcode(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getShuffleCost(), getSpliceCost(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::Type::isIntegerTy(), llvm::AArch64CC::LT, llvm::BitmaskEnumDetail::Mask(), llvm::TargetTransformInfo::SK_Broadcast, llvm::TargetTransformInfo::SK_Reverse, and llvm::TargetTransformInfo::SK_Splice.
InstructionCost RISCVTTIImpl::getSpliceCost | ( | VectorType * | Tp, |
int | Index | ||
) |
Definition at line 244 of file RISCVTargetTransformInfo.cpp.
References Cost, llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), and llvm::AArch64CC::LT.
Referenced by getShuffleCost().
InstructionCost RISCVTTIImpl::getStoreImmCost | ( | Type * | VecTy, |
TTI::OperandValueInfo | OpInfo, | ||
TTI::TargetCostKind | CostKind | ||
) |
Return the cost of materializing an immediate for a value operand of a store instruction.
Definition at line 1080 of file RISCVTargetTransformInfo.cpp.
References assert(), CostKind, llvm::BasicTTIImplBase< RISCVTTIImpl >::DL, llvm::DataLayout::getABITypeAlign(), getMemoryOpCost(), llvm::TargetTransformInfo::OperandValueInfo::isConstant(), llvm::TargetTransformInfo::OperandValueInfo::isUniform(), and llvm::SPII::Load.
Referenced by getMemoryOpCost().
void RISCVTTIImpl::getUnrollingPreferences | ( | Loop * | L, |
ScalarEvolution & | SE, | ||
TTI::UnrollingPreferences & | UP, | ||
OptimizationRemarkEmitter * | ORE | ||
) |
Definition at line 1372 of file RISCVTargetTransformInfo.cpp.
References BB, Cost, llvm::dbgs(), F, llvm::TargetTransformInfo::UnrollingPreferences::Force, llvm::LoopBase< BlockT, LoopT >::getBlocks(), llvm::getBooleanLoopAttribute(), getCalledFunction(), llvm::LoopBase< BlockT, LoopT >::getExitingBlocks(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::TargetTransformInfoImplCRTPBase< RISCVTTIImpl >::getInstructionCost(), llvm::LoopBase< BlockT, LoopT >::getNumBlocks(), llvm::BasicBlock::getParent(), llvm::BasicTTIImplBase< T >::getUnrollingPreferences(), llvm::Function::hasOptSize(), I, llvm::TargetTransformInfoImplBase::isLoweredToCall(), LLVM_DEBUG, Operands, llvm::TargetTransformInfo::UnrollingPreferences::OptSizeThreshold, llvm::TargetTransformInfo::UnrollingPreferences::Partial, llvm::TargetTransformInfo::UnrollingPreferences::PartialOptSizeThreshold, llvm::TargetTransformInfo::UnrollingPreferences::Runtime, llvm::TargetTransformInfo::TCK_SizeAndLatency, llvm::TargetTransformInfo::UnrollingPreferences::UnrollAndJam, llvm::TargetTransformInfo::UnrollingPreferences::UnrollAndJamInnerLoopThreshold, llvm::TargetTransformInfo::UnrollingPreferences::UnrollRemainder, and llvm::TargetTransformInfo::UnrollingPreferences::UpperBound.
InstructionCost RISCVTTIImpl::getVectorInstrCost | ( | unsigned | Opcode, |
Type * | Val, | ||
TTI::TargetCostKind | CostKind, | ||
unsigned | Index, | ||
Value * | Op0, | ||
Value * | Op1 | ||
) |
Definition at line 1200 of file RISCVTargetTransformInfo.cpp.
References assert(), CostKind, llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getTypeLegalizationCost(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getVectorInstrCost(), llvm::RISCVSubtarget::getXLen(), llvm::Type::isIntegerTy(), llvm::BasicTTIImplBase< RISCVTTIImpl >::isTypeLegal(), llvm::Type::isVectorTy(), and llvm::AArch64CC::LT.
|
inline |
Definition at line 244 of file RISCVTargetTransformInfo.h.
References llvm::TargetTransformInfo::VPLegalization::Convert, llvm::TargetTransformInfo::VPLegalization::Discard, llvm::CallBase::getArgOperand(), llvm::IntrinsicInst::getIntrinsicID(), llvm::Value::getType(), and llvm::TargetTransformInfo::VPLegalization::Legal.
std::optional< unsigned > RISCVTTIImpl::getVScaleForTuning | ( | ) | const |
Definition at line 215 of file RISCVTargetTransformInfo.cpp.
References llvm::RISCVSubtarget::getRealMinVLen(), llvm::BasicTTIImplBase< RISCVTTIImpl >::getVScaleForTuning(), llvm::RISCVSubtarget::hasVInstructions(), and llvm::RISCV::RVVBitsPerBlock.
|
inline |
Definition at line 171 of file RISCVTargetTransformInfo.h.
References llvm::RISCVTargetLowering::isLegalElementTypeForRVV().
Definition at line 224 of file RISCVTargetTransformInfo.h.
References isLegalMaskedGatherScatter().
Referenced by getGatherScatterOpCost().
Definition at line 203 of file RISCVTargetTransformInfo.h.
References llvm::BasicTTIImplBase< RISCVTTIImpl >::DL, llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::DataLayout::getTypeStoreSize(), and llvm::RISCVTargetLowering::isLegalElementTypeForRVV().
Referenced by isLegalMaskedGather(), and isLegalMaskedScatter().
Definition at line 196 of file RISCVTargetTransformInfo.h.
References isLegalMaskedLoadStore().
Definition at line 175 of file RISCVTargetTransformInfo.h.
References llvm::BasicTTIImplBase< RISCVTTIImpl >::DL, llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::getFixedValue(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::DataLayout::getTypeStoreSize(), and llvm::RISCVTargetLowering::isLegalElementTypeForRVV().
Referenced by getMaskedMemoryOpCost(), isLegalMaskedLoad(), and isLegalMaskedStore().
Definition at line 227 of file RISCVTargetTransformInfo.h.
References isLegalMaskedGatherScatter().
Referenced by getGatherScatterOpCost().
Definition at line 199 of file RISCVTargetTransformInfo.h.
References isLegalMaskedLoadStore().
|
inline |
Definition at line 255 of file RISCVTargetTransformInfo.h.
References llvm::Add, llvm::And, llvm::FAdd, llvm::FMax, llvm::FMin, llvm::FMulAdd, llvm::RecurrenceDescriptor::getRecurrenceKind(), llvm::RecurrenceDescriptor::getRecurrenceType(), llvm::RISCVTargetLowering::isLegalElementTypeForRVV(), llvm::details::FixedOrScalableQuantity< LeafTy, ValueTy >::isScalable(), llvm::Or, llvm::SelectFCmp, llvm::SelectICmp, llvm::SMax, llvm::SMin, llvm::UMax, llvm::UMin, and llvm::Xor.
bool RISCVTTIImpl::isLSRCostLess | ( | const TargetTransformInfo::LSRCost & | C1, |
const TargetTransformInfo::LSRCost & | C2 | ||
) |
Definition at line 1477 of file RISCVTargetTransformInfo.cpp.
References llvm::TargetTransformInfo::LSRCost::AddRecCost, C1, llvm::TargetTransformInfo::LSRCost::ImmCost, llvm::TargetTransformInfo::LSRCost::Insns, llvm::TargetTransformInfo::LSRCost::NumBaseAdds, llvm::TargetTransformInfo::LSRCost::NumIVMuls, llvm::TargetTransformInfo::LSRCost::NumRegs, llvm::TargetTransformInfo::LSRCost::ScaleCost, and llvm::TargetTransformInfo::LSRCost::SetupCost.
|
inline |
Definition at line 92 of file RISCVTargetTransformInfo.h.
bool RISCVTTIImpl::shouldExpandReduction | ( | const IntrinsicInst * | II | ) | const |
Definition at line 195 of file RISCVTargetTransformInfo.cpp.
References llvm::IntrinsicInst::getIntrinsicID().
|
inline |
Definition at line 77 of file RISCVTargetTransformInfo.h.