LLVM 24.0.0git
llvm::RISCVSubtarget Class Reference

#include "Target/RISCV/RISCVSubtarget.h"

Inheritance diagram for llvm::RISCVSubtarget:
[legend]

Public Types

enum  RISCVProcFamilyEnum : uint8_t { Others , SiFive7 , MIPSP8700 , Andes45 }
enum  RISCVVRGatherCostModelEnum : uint8_t { Quadratic , NLog2N }

Public Member Functions

 RISCVSubtarget (const Triple &TT, StringRef CPU, StringRef TuneCPU, StringRef FS, StringRef ABIName, unsigned RVVVectorBitsMin, unsigned RVVVectorLMULMax, const TargetMachine &TM)
 ~RISCVSubtarget () override
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
const RISCVFrameLowering * getFrameLowering () const override
const RISCVOptions & getCLOpts () const
const RISCVInstrInfo * getInstrInfo () const override
const RISCVRegisterInfo * getRegisterInfo () const override
const RISCVTargetLowering * getTargetLowering () const override
void mirFileLoaded (MachineFunction &MF) const override
bool enableMachineScheduler () const override
bool enablePostRAScheduler () const override
Align getPrefFunctionAlignment () const
Align getPrefLoopAlignment () const
RISCVProcFamilyEnum getProcFamily () const
 Returns RISC-V processor family.
RISCVVRGatherCostModelEnum getVRGatherCostModel () const
bool hasStdExtZvl () const
bool hasStdExtFOrZfinx () const
bool hasStdExtDOrZdinx () const
bool hasStdExtZfhOrZhinx () const
bool hasStdExtZfhminOrZhinxmin () const
bool hasHalfFPLoadStoreMove () const
bool hasCLZLike () const
bool hasCTZLike () const
bool hasCPOPLike () const
bool hasREV8Like () const
bool hasREVLike () const
bool hasBEXTILike () const
bool hasConditionalMoveFusion () const
bool hasShlAdd (int64_t ShAmt) const
bool is64Bit () const
bool isLittleEndian () const
MVT getXLenVT () const
unsigned getXLen () const
bool useMIPSLoadStorePairs () const
bool useMIPSCCMovInsn () const
unsigned getFLen () const
Align getZilsdAlign () const
unsigned getELen () const
unsigned getRealMinVLen () const
unsigned getRealMaxVLen () const
std::optional< unsigned > getRealVLen () const
template<typename Quantity>
Quantity expandVScale (Quantity X) const
 If the ElementCount or TypeSize X is scalable and VScale (VLEN) is exactly known, returns X converted to a fixed quantity.
RISCVABI::ABI getTargetABI () const
bool isSoftFPABI () const
bool isRegisterReservedByUser (Register i) const override
TargetRegisterClass const * getLargestFPRegClass () const
bool isXRaySupported () const override
bool hasVInstructions () const
bool hasVInstructionsI64 () const
bool hasVInstructionsF16Minimal () const
bool hasVInstructionsF16 () const
bool hasVInstructionsBF16Minimal () const
bool hasVInstructionsF32 () const
bool hasVInstructionsF64 () const
bool hasVInstructionsBF16 () const
bool hasVInstructionsAnyF () const
bool hasVInstructionsFullMultiply () const
unsigned getMaxInterleaveFactor () const
bool hasOptimizedSegmentLoadStore (unsigned NF) const
bool isPExtPackedType (MVT VT) const
bool isPExtPackedDoubleType (MVT VT) const
unsigned getDLenFactor () const
const SelectionDAGTargetInfo * getSelectionDAGInfo () const override
const CallLowering * getCallLowering () const override
InstructionSelector * getInstructionSelector () const override
const LegalizerInfo * getLegalizerInfo () const override
const RISCVRegisterBankInfo * getRegBankInfo () const override
const InlineAsmLowering * getInlineAsmLowering () const override
bool isTargetAndroid () const
bool isTargetFuchsia () const
bool useConstantPoolForLargeInts () const
unsigned getMaxBuildIntsCost () const
unsigned getMispredictionPenalty () const override
unsigned getLoadLatency () const override
bool useRVVForFixedLengthVectors () const
bool enableSubRegLiveness () const override
bool enableMachinePipeliner () const override
bool useDFAforSMS () const override
bool useAA () const override
 Enable use of alias analysis during code generation (during MI scheduling, DAGCombine, etc.).
unsigned getCacheLineSize () const override
unsigned getPrefetchDistance () const override
unsigned getMinPrefetchStride (unsigned NumMemAccesses, unsigned NumStridedMemAccesses, unsigned NumPrefetches, bool HasCall) const override
unsigned getMaxPrefetchIterationsAhead () const override
bool enableWritePrefetching () const override
unsigned getMinimumJumpTableEntries () const
unsigned getTailDupAggressiveThreshold () const
unsigned getMaxStoresPerMemset (bool OptSize) const
unsigned getMaxGluedStoresPerMemcpy () const
unsigned getMaxStoresPerMemcpy (bool OptSize) const
unsigned getMaxStoresPerMemmove (bool OptSize) const
unsigned getMaxLoadsPerMemcmp (bool OptSize) const
uint8_t getMaxVectorCoalesceElts () const
MISched::Direction getPostRASchedDirection () const
bool isJumpExpensive () const
void overrideSchedPolicy (MachineSchedPolicy &Policy, const SchedRegion &Region) const override
void overridePostRASchedPolicy (MachineSchedPolicy &Policy, const SchedRegion &Region) const override

Protected Member Functions

unsigned getMaxRVVVectorSizeInBits () const
unsigned getMinRVVVectorSizeInBits () const

Protected Attributes

std::unique_ptr< const SelectionDAGTargetInfo > TSInfo
std::unique_ptr< CallLowering > CallLoweringInfo
std::unique_ptr< InstructionSelector > InstSelector
std::unique_ptr< LegalizerInfo > Legalizer
std::unique_ptr< RISCVRegisterBankInfo > RegBankInfo
std::unique_ptr< InlineAsmLowering > InlineAsmLoweringInfo

Detailed Description

Definition at line 93 of file RISCVSubtarget.h.

Member Enumeration Documentation

◆ RISCVProcFamilyEnum

Enumerator
Others 
SiFive7 
MIPSP8700 
Andes45 

Definition at line 96 of file RISCVSubtarget.h.

◆ RISCVVRGatherCostModelEnum

Enumerator
Quadratic 
NLog2N 

Definition at line 102 of file RISCVSubtarget.h.

Constructor & Destructor Documentation

◆ RISCVSubtarget()

RISCVSubtarget::RISCVSubtarget ( const Triple & TT,
StringRef CPU,
StringRef TuneCPU,
StringRef FS,
StringRef ABIName,
unsigned RVVVectorBitsMin,
unsigned RVVVectorLMULMax,
const TargetMachine & TM )

Definition at line 99 of file RISCVSubtarget.cpp.

References const, getCLOpts(), isLittleEndian(), and TSInfo.

◆ ~RISCVSubtarget()

RISCVSubtarget::~RISCVSubtarget ( )
overridedefault

Member Function Documentation

◆ enableMachinePipeliner()

bool RISCVSubtarget::enableMachinePipeliner ( ) const
override

Definition at line 234 of file RISCVSubtarget.cpp.

◆ enableMachineScheduler()

bool llvm::RISCVSubtarget::enableMachineScheduler ( ) const
inlineoverride

Definition at line 168 of file RISCVSubtarget.h.

◆ enablePostRAScheduler()

bool llvm::RISCVSubtarget::enablePostRAScheduler ( ) const
inlineoverride

Definition at line 170 of file RISCVSubtarget.h.

◆ enableSubRegLiveness()

bool RISCVSubtarget::enableSubRegLiveness ( ) const
override

Definition at line 232 of file RISCVSubtarget.cpp.

◆ enableWritePrefetching()

bool llvm::RISCVSubtarget::enableWritePrefetching ( ) const
inlineoverride

Definition at line 433 of file RISCVSubtarget.h.

◆ expandVScale()

template<typename Quantity>
Quantity llvm::RISCVSubtarget::expandVScale ( Quantity X) const
inline

If the ElementCount or TypeSize X is scalable and VScale (VLEN) is exactly known, returns X converted to a fixed quantity.

Otherwise returns X unmodified.

Definition at line 285 of file RISCVSubtarget.h.

References getRealVLen(), llvm::RISCV::RVVBitsPerBlock, and X.

◆ getCacheLineSize()

unsigned llvm::RISCVSubtarget::getCacheLineSize ( ) const
inlineoverride

Definition at line 418 of file RISCVSubtarget.h.

◆ getCallLowering()

const CallLowering * RISCVSubtarget::getCallLowering ( ) const
override

Definition at line 127 of file RISCVSubtarget.cpp.

References CallLoweringInfo, and getTargetLowering().

◆ getCLOpts()

const RISCVOptions & llvm::RISCVSubtarget::getCLOpts ( ) const
inline

◆ getDLenFactor()

unsigned llvm::RISCVSubtarget::getDLenFactor ( ) const
inline

Definition at line 364 of file RISCVSubtarget.h.

◆ getELen()

◆ getFLen()

unsigned llvm::RISCVSubtarget::getFLen ( ) const
inline

Definition at line 242 of file RISCVSubtarget.h.

Referenced by lowerBUILD_VECTOR().

◆ getFrameLowering()

const RISCVFrameLowering * llvm::RISCVSubtarget::getFrameLowering ( ) const
inlineoverride

◆ getInlineAsmLowering()

const InlineAsmLowering * RISCVSubtarget::getInlineAsmLowering ( ) const
override

Definition at line 120 of file RISCVSubtarget.cpp.

References getTargetLowering(), and InlineAsmLoweringInfo.

◆ getInstrInfo()

◆ getInstructionSelector()

InstructionSelector * RISCVSubtarget::getInstructionSelector ( ) const
override

◆ getLargestFPRegClass()

TargetRegisterClass const * llvm::RISCVSubtarget::getLargestFPRegClass ( ) const
inline

Definition at line 304 of file RISCVSubtarget.h.

Referenced by getLargestFPRegisterOrZero().

◆ getLegalizerInfo()

const LegalizerInfo * RISCVSubtarget::getLegalizerInfo ( ) const
override

Definition at line 142 of file RISCVSubtarget.cpp.

References Legalizer.

◆ getLoadLatency()

unsigned RISCVSubtarget::getLoadLatency ( ) const
override

Definition at line 194 of file RISCVSubtarget.cpp.

Referenced by getMaxBuildIntsCost().

◆ getMaxBuildIntsCost()

unsigned RISCVSubtarget::getMaxBuildIntsCost ( ) const

Definition at line 178 of file RISCVSubtarget.cpp.

References getLoadLatency().

Referenced by lowerConstant().

◆ getMaxGluedStoresPerMemcpy()

unsigned llvm::RISCVSubtarget::getMaxGluedStoresPerMemcpy ( ) const
inline

Definition at line 446 of file RISCVSubtarget.h.

◆ getMaxInterleaveFactor()

unsigned llvm::RISCVSubtarget::getMaxInterleaveFactor ( ) const
inline

Definition at line 334 of file RISCVSubtarget.h.

References hasVInstructions().

◆ getMaxLoadsPerMemcmp()

unsigned llvm::RISCVSubtarget::getMaxLoadsPerMemcmp ( bool OptSize) const
inline

Definition at line 460 of file RISCVSubtarget.h.

◆ getMaxPrefetchIterationsAhead()

unsigned llvm::RISCVSubtarget::getMaxPrefetchIterationsAhead ( ) const
inlineoverride

Definition at line 430 of file RISCVSubtarget.h.

◆ getMaxRVVVectorSizeInBits()

unsigned RISCVSubtarget::getMaxRVVVectorSizeInBits ( ) const
protected

Definition at line 198 of file RISCVSubtarget.cpp.

References assert(), hasVInstructions(), and llvm::report_fatal_error().

Referenced by getRealMaxVLen().

◆ getMaxStoresPerMemcpy()

unsigned llvm::RISCVSubtarget::getMaxStoresPerMemcpy ( bool OptSize) const
inline

Definition at line 450 of file RISCVSubtarget.h.

◆ getMaxStoresPerMemmove()

unsigned llvm::RISCVSubtarget::getMaxStoresPerMemmove ( bool OptSize) const
inline

Definition at line 455 of file RISCVSubtarget.h.

◆ getMaxStoresPerMemset()

unsigned llvm::RISCVSubtarget::getMaxStoresPerMemset ( bool OptSize) const
inline

Definition at line 441 of file RISCVSubtarget.h.

◆ getMaxVectorCoalesceElts()

uint8_t llvm::RISCVSubtarget::getMaxVectorCoalesceElts ( ) const
inline

Definition at line 465 of file RISCVSubtarget.h.

◆ getMinimumJumpTableEntries()

unsigned RISCVSubtarget::getMinimumJumpTableEntries ( ) const

Definition at line 252 of file RISCVSubtarget.cpp.

◆ getMinPrefetchStride()

unsigned llvm::RISCVSubtarget::getMinPrefetchStride ( unsigned NumMemAccesses,
unsigned NumStridedMemAccesses,
unsigned NumPrefetches,
bool HasCall ) const
inlineoverride

Definition at line 424 of file RISCVSubtarget.h.

◆ getMinRVVVectorSizeInBits()

unsigned RISCVSubtarget::getMinRVVVectorSizeInBits ( ) const
protected

◆ getMispredictionPenalty()

unsigned RISCVSubtarget::getMispredictionPenalty ( ) const
override

Definition at line 189 of file RISCVSubtarget.cpp.

◆ getPostRASchedDirection()

MISched::Direction llvm::RISCVSubtarget::getPostRASchedDirection ( ) const
inline

Definition at line 469 of file RISCVSubtarget.h.

Referenced by overridePostRASchedPolicy().

◆ getPrefetchDistance()

unsigned llvm::RISCVSubtarget::getPrefetchDistance ( ) const
inlineoverride

Definition at line 421 of file RISCVSubtarget.h.

◆ getPrefFunctionAlignment()

Align llvm::RISCVSubtarget::getPrefFunctionAlignment ( ) const
inline

Definition at line 172 of file RISCVSubtarget.h.

◆ getPrefLoopAlignment()

Align llvm::RISCVSubtarget::getPrefLoopAlignment ( ) const
inline

Definition at line 175 of file RISCVSubtarget.h.

◆ getProcFamily()

RISCVProcFamilyEnum llvm::RISCVSubtarget::getProcFamily ( ) const
inline

Returns RISC-V processor family.

Avoid this function! CPU specifics should be kept local to this class and preferably modeled with SubtargetFeatures or properties in initializeProperties().

Definition at line 183 of file RISCVSubtarget.h.

◆ getRealMaxVLen()

unsigned llvm::RISCVSubtarget::getRealMaxVLen ( ) const
inline

Definition at line 270 of file RISCVSubtarget.h.

References getMaxRVVVectorSizeInBits().

Referenced by combineToVCPOP(), and getRealVLen().

◆ getRealMinVLen()

◆ getRealVLen()

std::optional< unsigned > llvm::RISCVSubtarget::getRealVLen ( ) const
inline

◆ getRegBankInfo()

const RISCVRegisterBankInfo * RISCVSubtarget::getRegBankInfo ( ) const
override

Definition at line 148 of file RISCVSubtarget.cpp.

References RegBankInfo.

Referenced by getInstructionSelector(), and llvm::RISCVCallLowering::lowerCall().

◆ getRegisterInfo()

◆ getSelectionDAGInfo()

const SelectionDAGTargetInfo * RISCVSubtarget::getSelectionDAGInfo ( ) const
override

Definition at line 116 of file RISCVSubtarget.cpp.

References TSInfo.

◆ getTailDupAggressiveThreshold()

unsigned llvm::RISCVSubtarget::getTailDupAggressiveThreshold ( ) const
inline

Definition at line 437 of file RISCVSubtarget.h.

◆ getTargetABI()

RISCVABI::ABI llvm::RISCVSubtarget::getTargetABI ( ) const
inline

◆ getTargetLowering()

◆ getVRGatherCostModel()

RISCVVRGatherCostModelEnum llvm::RISCVSubtarget::getVRGatherCostModel ( ) const
inline

Definition at line 185 of file RISCVSubtarget.h.

◆ getXLen()

◆ getXLenVT()

MVT llvm::RISCVSubtarget::getXLenVT ( ) const
inline

Definition at line 234 of file RISCVSubtarget.h.

References is64Bit().

Referenced by buildDefaultVLOps(), CC_RISCV_FastCC(), CC_RISCV_Impl(), combine_CC(), combineAddMulParts(), combineMinMaxToSat(), combineShlAddIAdd(), combineSubShiftToOrcB(), combineToVCPOP(), combineVectorSizedSetCCEquality(), expandMul(), foldSelectToUSATI(), getDefaultScalableVLOps(), getDefaultVLOps(), getVSlidedown(), getVSlideup(), getWideningInterleave(), lowerBUILD_VECTOR(), lowerBuildVectorOfConstants(), lowerBuildVectorViaDominantValues(), lowerBuildVectorViaPacking(), lowerCONVERT_FROM_ARBITRARY_FP(), lowerCttzElts(), lowerDisjointIndicesShuffle(), lowerFABSorFNEG(), lowerFCOPYSIGN(), lowerFixedVectorSegLoadIntrinsics(), lowerFixedVectorSegStoreIntrinsics(), lowerFMAXIMUM_FMINIMUM(), lowerFP_TO_INT_SAT(), lowerFTRUNC_FCEIL_FFLOOR_FROUND(), lowerGetVectorLength(), lowerPZExt(), lowerReductionSeq(), lowerScalarInsert(), lowerScalarSplat(), lowerVECTOR_SHUFFLEAsPSlide1(), lowerVECTOR_SHUFFLEAsVRGatherVX(), lowerVECTOR_SHUFFLEAsVSlide1(), lowerVECTOR_SHUFFLEAsVSlidedown(), lowerVECTOR_SHUFFLEAsVSlideup(), lowerVectorFTRUNC_FCEIL_FFLOOR_FROUND(), lowerVectorIntrinsicScalars(), lowerVectorStrictFTRUNC_FCEIL_FFLOOR_FROUND(), lowerVectorXRINT_XROUND(), matchSplatAsGather(), performCONCAT_VECTORSCombine(), performFP_TO_INT_SATCombine(), performFP_TO_INTCombine(), performReverseEVLCombine(), performSRACombine(), performVECTOR_SHUFFLECombine(), performVP_STORECombine(), performVSlideUpDownCombine(), promoteVCIXScalar(), selectVSplatImmHelper(), and tryMemPairCombine().

◆ getZilsdAlign()

Align llvm::RISCVSubtarget::getZilsdAlign ( ) const
inline

Definition at line 252 of file RISCVSubtarget.h.

◆ hasBEXTILike()

bool llvm::RISCVSubtarget::hasBEXTILike ( ) const
inline

Definition at line 216 of file RISCVSubtarget.h.

Referenced by useInversedSetcc().

◆ hasCLZLike()

bool llvm::RISCVSubtarget::hasCLZLike ( ) const
inline

Definition at line 202 of file RISCVSubtarget.h.

◆ hasConditionalMoveFusion()

bool llvm::RISCVSubtarget::hasConditionalMoveFusion ( ) const
inline

Definition at line 218 of file RISCVSubtarget.h.

Referenced by combineSelectAndUse(), lowerSelectToBinOp(), and performSELECTCombine().

◆ hasCPOPLike()

bool llvm::RISCVSubtarget::hasCPOPLike ( ) const
inline

Definition at line 206 of file RISCVSubtarget.h.

◆ hasCTZLike()

bool llvm::RISCVSubtarget::hasCTZLike ( ) const
inline

Definition at line 203 of file RISCVSubtarget.h.

◆ hasHalfFPLoadStoreMove()

bool llvm::RISCVSubtarget::hasHalfFPLoadStoreMove ( ) const
inline

Definition at line 198 of file RISCVSubtarget.h.

◆ hasOptimizedSegmentLoadStore()

bool llvm::RISCVSubtarget::hasOptimizedSegmentLoadStore ( unsigned NF) const
inline

Definition at line 338 of file RISCVSubtarget.h.

References llvm_unreachable.

◆ hasREV8Like()

bool llvm::RISCVSubtarget::hasREV8Like ( ) const
inline

Definition at line 209 of file RISCVSubtarget.h.

◆ hasREVLike()

bool llvm::RISCVSubtarget::hasREVLike ( ) const
inline

Definition at line 212 of file RISCVSubtarget.h.

◆ hasShlAdd()

bool llvm::RISCVSubtarget::hasShlAdd ( int64_t ShAmt) const
inline

◆ hasStdExtDOrZdinx()

bool llvm::RISCVSubtarget::hasStdExtDOrZdinx ( ) const
inline

Definition at line 193 of file RISCVSubtarget.h.

◆ hasStdExtFOrZfinx()

bool llvm::RISCVSubtarget::hasStdExtFOrZfinx ( ) const
inline

Definition at line 192 of file RISCVSubtarget.h.

◆ hasStdExtZfhminOrZhinxmin()

bool llvm::RISCVSubtarget::hasStdExtZfhminOrZhinxmin ( ) const
inline

Definition at line 195 of file RISCVSubtarget.h.

◆ hasStdExtZfhOrZhinx()

bool llvm::RISCVSubtarget::hasStdExtZfhOrZhinx ( ) const
inline

Definition at line 194 of file RISCVSubtarget.h.

Referenced by lowerFP_TO_INT(), lowerFP_TO_INT_SAT(), and lowerINT_TO_FP().

◆ hasStdExtZvl()

bool llvm::RISCVSubtarget::hasStdExtZvl ( ) const
inline

Definition at line 191 of file RISCVSubtarget.h.

◆ hasVInstructions()

◆ hasVInstructionsAnyF()

bool llvm::RISCVSubtarget::hasVInstructionsAnyF ( ) const
inline

Definition at line 332 of file RISCVSubtarget.h.

References hasVInstructionsF32().

◆ hasVInstructionsBF16()

bool llvm::RISCVSubtarget::hasVInstructionsBF16 ( ) const
inline

◆ hasVInstructionsBF16Minimal()

bool llvm::RISCVSubtarget::hasVInstructionsBF16Minimal ( ) const
inline

◆ hasVInstructionsF16()

bool llvm::RISCVSubtarget::hasVInstructionsF16 ( ) const
inline

◆ hasVInstructionsF16Minimal()

bool llvm::RISCVSubtarget::hasVInstructionsF16Minimal ( ) const
inline

◆ hasVInstructionsF32()

bool llvm::RISCVSubtarget::hasVInstructionsF32 ( ) const
inline

◆ hasVInstructionsF64()

bool llvm::RISCVSubtarget::hasVInstructionsF64 ( ) const
inline

Definition at line 329 of file RISCVSubtarget.h.

Referenced by isLegalElementTypeForRVV(), and useRVVForFixedLengthVectorVT().

◆ hasVInstructionsFullMultiply()

bool llvm::RISCVSubtarget::hasVInstructionsFullMultiply ( ) const
inline

Definition at line 333 of file RISCVSubtarget.h.

◆ hasVInstructionsI64()

bool llvm::RISCVSubtarget::hasVInstructionsI64 ( ) const
inline

◆ is64Bit()

◆ isJumpExpensive()

bool llvm::RISCVSubtarget::isJumpExpensive ( ) const
inline

Definition at line 473 of file RISCVSubtarget.h.

◆ isLittleEndian()

bool llvm::RISCVSubtarget::isLittleEndian ( ) const
inline

◆ isPExtPackedDoubleType()

bool RISCVSubtarget::isPExtPackedDoubleType ( MVT VT) const

Definition at line 171 of file RISCVSubtarget.cpp.

References is64Bit().

Referenced by CC_RISCV_Impl(), and combineAddMulh().

◆ isPExtPackedType()

bool RISCVSubtarget::isPExtPackedType ( MVT VT) const

Definition at line 159 of file RISCVSubtarget.cpp.

References is64Bit().

Referenced by CC_RISCV_Impl().

◆ isRegisterReservedByUser()

bool llvm::RISCVSubtarget::isRegisterReservedByUser ( Register i) const
inlineoverride

Definition at line 299 of file RISCVSubtarget.h.

References assert(), and llvm::Register::id().

◆ isSoftFPABI()

bool llvm::RISCVSubtarget::isSoftFPABI ( ) const
inline

◆ isTargetAndroid()

bool llvm::RISCVSubtarget::isTargetAndroid ( ) const
inline

Definition at line 396 of file RISCVSubtarget.h.

◆ isTargetFuchsia()

bool llvm::RISCVSubtarget::isTargetFuchsia ( ) const
inline

Definition at line 397 of file RISCVSubtarget.h.

◆ isXRaySupported()

bool llvm::RISCVSubtarget::isXRaySupported ( ) const
inlineoverride

Definition at line 316 of file RISCVSubtarget.h.

References is64Bit().

◆ mirFileLoaded()

◆ overridePostRASchedPolicy()

◆ overrideSchedPolicy()

◆ ParseSubtargetFeatures()

void llvm::RISCVSubtarget::ParseSubtargetFeatures ( StringRef CPU,
StringRef TuneCPU,
StringRef FS )

◆ useAA()

bool RISCVSubtarget::useAA ( ) const
override

Enable use of alias analysis during code generation (during MI scheduling, DAGCombine, etc.).

Definition at line 250 of file RISCVSubtarget.cpp.

◆ useConstantPoolForLargeInts()

bool RISCVSubtarget::useConstantPoolForLargeInts ( ) const

Definition at line 154 of file RISCVSubtarget.cpp.

Referenced by lowerConstant().

◆ useDFAforSMS()

bool llvm::RISCVSubtarget::useDFAforSMS ( ) const
inlineoverride

Definition at line 414 of file RISCVSubtarget.h.

◆ useMIPSCCMovInsn()

bool RISCVSubtarget::useMIPSCCMovInsn ( ) const

Definition at line 292 of file RISCVSubtarget.cpp.

◆ useMIPSLoadStorePairs()

bool RISCVSubtarget::useMIPSLoadStorePairs ( ) const

Definition at line 288 of file RISCVSubtarget.cpp.

◆ useRVVForFixedLengthVectors()

bool RISCVSubtarget::useRVVForFixedLengthVectors ( ) const

Member Data Documentation

◆ CallLoweringInfo

std::unique_ptr<CallLowering> llvm::RISCVSubtarget::CallLoweringInfo
mutableprotected

Definition at line 375 of file RISCVSubtarget.h.

Referenced by getCallLowering().

◆ InlineAsmLoweringInfo

std::unique_ptr<InlineAsmLowering> llvm::RISCVSubtarget::InlineAsmLoweringInfo
mutableprotected

Definition at line 379 of file RISCVSubtarget.h.

Referenced by getInlineAsmLowering().

◆ InstSelector

std::unique_ptr<InstructionSelector> llvm::RISCVSubtarget::InstSelector
mutableprotected

Definition at line 376 of file RISCVSubtarget.h.

Referenced by getInstructionSelector().

◆ Legalizer

std::unique_ptr<LegalizerInfo> llvm::RISCVSubtarget::Legalizer
mutableprotected

Definition at line 377 of file RISCVSubtarget.h.

Referenced by getLegalizerInfo().

◆ RegBankInfo

std::unique_ptr<RISCVRegisterBankInfo> llvm::RISCVSubtarget::RegBankInfo
mutableprotected

Definition at line 378 of file RISCVSubtarget.h.

Referenced by getRegBankInfo().

◆ TSInfo

std::unique_ptr<const SelectionDAGTargetInfo> llvm::RISCVSubtarget::TSInfo
protected

Definition at line 372 of file RISCVSubtarget.h.

Referenced by getSelectionDAGInfo(), and RISCVSubtarget().


The documentation for this class was generated from the following files: