LLVM: lib/Target/RISCV/RISCVTargetTransformInfo.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static InstructionCost getIntImmCostImpl (const DataLayout &DL, const RISCVSubtarget *ST, const APInt &Imm, Type *Ty, TTI::TargetCostKind CostKind, bool FreeZeroes)
static bool canUseShiftPair (Instruction *Inst, const APInt &Imm)
static bool isRepeatedConcatMask (ArrayRef< int > Mask, int &SubVectorSize)
static VectorType * getVRGatherIndexType (MVT DataVT, const RISCVSubtarget &ST, LLVMContext &C)
static unsigned isM1OrSmaller (MVT VT)
static unsigned getISDForVPIntrinsicID (Intrinsic::ID ID)
Variables
static cl::opt< unsigned > RVVRegisterWidthLMUL ("riscv-v-register-bit-width-lmul", cl::desc("The LMUL to use for getRegisterBitWidth queries. Affects LMUL used " "by autovectorized code. Fractional LMULs are not supported."), cl::init(2), cl::Hidden)
static cl::opt< unsigned > SLPMaxVF ("riscv-v-slp-max-vf", cl::desc("Overrides result used for getMaximumVF query which is used " "exclusively by SLP vectorizer."), cl::Hidden)
static const CostTblEntry VectorIntrinsicCostTable []

DEBUG_TYPE

#define DEBUG_TYPE "riscvtti"

HELPER_MAP_VPID_TO_VPSD

| #define HELPER_MAP_VPID_TO_VPSD | ( | | VPID, | | ----------------------------------- | - | | ----- | | | VPSD | | | | | ) | | | |

Value:

case Intrinsic::VPID: \

return ISD::VPSD;

canUseShiftPair()

getIntImmCostImpl()

getISDForVPIntrinsicID()

getVRGatherIndexType()

isM1OrSmaller()

isRepeatedConcatMask()

static bool isRepeatedConcatMask ( ArrayRef< int > Mask, int & SubVectorSize ) static

RVVRegisterWidthLMUL

cl::opt< unsigned > RVVRegisterWidthLMUL("riscv-v-register-bit-width-lmul", cl::desc( "The LMUL to use for getRegisterBitWidth queries. Affects LMUL used " "by autovectorized code. Fractional LMULs are not supported."), cl::init(2), cl::Hidden) ( "riscv-v-register-bit-width-lmul" , cl::desc( "The LMUL to use for getRegisterBitWidth queries. Affects LMUL used " "by autovectorized code. Fractional LMULs are not supported.") , cl::init(2) , cl::Hidden ) static

SLPMaxVF

cl::opt< unsigned > SLPMaxVF("riscv-v-slp-max-vf", cl::desc( "Overrides result used for getMaximumVF query which is used " "exclusively by SLP vectorizer."), cl::Hidden) ( "riscv-v-slp-max-vf" , cl::desc( "Overrides result used for getMaximumVF query which is used " "exclusively by SLP vectorizer.") , cl::Hidden ) static

VectorIntrinsicCostTable