LLVM  14.0.0git
Public Member Functions | Protected Attributes | List of all members
llvm::RISCVSubtarget Class Reference

#include "Target/RISCV/RISCVSubtarget.h"

Inheritance diagram for llvm::RISCVSubtarget:
Inheritance graph
[legend]
Collaboration diagram for llvm::RISCVSubtarget:
Collaboration graph
[legend]

Public Member Functions

 RISCVSubtarget (const Triple &TT, StringRef CPU, StringRef TuneCPU, StringRef FS, StringRef ABIName, const TargetMachine &TM)
 
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
 
const RISCVFrameLoweringgetFrameLowering () const override
 
const RISCVInstrInfogetInstrInfo () const override
 
const RISCVRegisterInfogetRegisterInfo () const override
 
const RISCVTargetLoweringgetTargetLowering () const override
 
const SelectionDAGTargetInfogetSelectionDAGInfo () const override
 
bool enableMachineScheduler () const override
 
bool hasStdExtM () const
 
bool hasStdExtA () const
 
bool hasStdExtF () const
 
bool hasStdExtD () const
 
bool hasStdExtC () const
 
bool hasStdExtB () const
 
bool hasStdExtZba () const
 
bool hasStdExtZbb () const
 
bool hasStdExtZbc () const
 
bool hasStdExtZbe () const
 
bool hasStdExtZbf () const
 
bool hasStdExtZbm () const
 
bool hasStdExtZbp () const
 
bool hasStdExtZbr () const
 
bool hasStdExtZbs () const
 
bool hasStdExtZbt () const
 
bool hasStdExtZbproposedc () const
 
bool hasStdExtV () const
 
bool hasStdExtZvlsseg () const
 
bool hasStdExtZvamo () const
 
bool hasStdExtZfh () const
 
bool is64Bit () const
 
bool isRV32E () const
 
bool enableLinkerRelax () const
 
bool enableRVCHintInstrs () const
 
bool enableSaveRestore () const
 
MVT getXLenVT () const
 
unsigned getXLen () const
 
RISCVABI::ABI getTargetABI () const
 
bool isRegisterReservedByUser (Register i) const
 
unsigned getMaxInterleaveFactor () const
 
const CallLoweringgetCallLowering () const override
 
InstructionSelectorgetInstructionSelector () const override
 
const LegalizerInfogetLegalizerInfo () const override
 
const RegisterBankInfogetRegBankInfo () const override
 
unsigned getMaxRVVVectorSizeInBits () const
 
unsigned getMinRVVVectorSizeInBits () const
 
unsigned getMaxLMULForFixedLengthVectors () const
 
unsigned getMaxELENForFixedLengthVectors () const
 
bool useRVVForFixedLengthVectors () const
 

Protected Attributes

std::unique_ptr< CallLoweringCallLoweringInfo
 
std::unique_ptr< InstructionSelectorInstSelector
 
std::unique_ptr< LegalizerInfoLegalizer
 
std::unique_ptr< RegisterBankInfoRegBankInfo
 

Detailed Description

Definition at line 35 of file RISCVSubtarget.h.

Constructor & Destructor Documentation

◆ RISCVSubtarget()

RISCVSubtarget::RISCVSubtarget ( const Triple TT,
StringRef  CPU,
StringRef  TuneCPU,
StringRef  FS,
StringRef  ABIName,
const TargetMachine TM 
)

Member Function Documentation

◆ enableLinkerRelax()

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

Definition at line 128 of file RISCVSubtarget.h.

◆ enableMachineScheduler()

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

Definition at line 104 of file RISCVSubtarget.h.

◆ enableRVCHintInstrs()

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

Definition at line 129 of file RISCVSubtarget.h.

◆ enableSaveRestore()

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

Definition at line 130 of file RISCVSubtarget.h.

◆ getCallLowering()

const CallLowering * RISCVSubtarget::getCallLowering ( ) const
override

Definition at line 97 of file RISCVSubtarget.cpp.

References CallLoweringInfo.

◆ getFrameLowering()

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

Definition at line 91 of file RISCVSubtarget.h.

◆ getInstrInfo()

const RISCVInstrInfo* llvm::RISCVSubtarget::getInstrInfo ( ) const
inlineoverride

◆ getInstructionSelector()

InstructionSelector * RISCVSubtarget::getInstructionSelector ( ) const
override

Definition at line 101 of file RISCVSubtarget.cpp.

References InstSelector.

◆ getLegalizerInfo()

const LegalizerInfo * RISCVSubtarget::getLegalizerInfo ( ) const
override

Definition at line 105 of file RISCVSubtarget.cpp.

◆ getMaxELENForFixedLengthVectors()

unsigned RISCVSubtarget::getMaxELENForFixedLengthVectors ( ) const

◆ getMaxInterleaveFactor()

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

Definition at line 138 of file RISCVSubtarget.h.

References hasStdExtV().

◆ getMaxLMULForFixedLengthVectors()

unsigned RISCVSubtarget::getMaxLMULForFixedLengthVectors ( ) const

◆ getMaxRVVVectorSizeInBits()

unsigned RISCVSubtarget::getMaxRVVVectorSizeInBits ( ) const

◆ getMinRVVVectorSizeInBits()

unsigned RISCVSubtarget::getMinRVVVectorSizeInBits ( ) const

◆ getRegBankInfo()

const RegisterBankInfo * RISCVSubtarget::getRegBankInfo ( ) const
override

Definition at line 109 of file RISCVSubtarget.cpp.

References RegBankInfo.

◆ getRegisterInfo()

const RISCVRegisterInfo* llvm::RISCVSubtarget::getRegisterInfo ( ) const
inlineoverride

◆ getSelectionDAGInfo()

const SelectionDAGTargetInfo* llvm::RISCVSubtarget::getSelectionDAGInfo ( ) const
inlineoverride

Definition at line 101 of file RISCVSubtarget.h.

◆ getTargetABI()

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

◆ getTargetLowering()

const RISCVTargetLowering* llvm::RISCVSubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 98 of file RISCVSubtarget.h.

Referenced by RISCVSubtarget().

◆ getXLen()

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

◆ getXLenVT()

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

◆ hasStdExtA()

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

Definition at line 106 of file RISCVSubtarget.h.

Referenced by llvm::RISCVTargetLowering::RISCVTargetLowering().

◆ hasStdExtB()

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

Definition at line 110 of file RISCVSubtarget.h.

◆ hasStdExtC()

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

Definition at line 109 of file RISCVSubtarget.h.

Referenced by llvm::RISCVTargetLowering::RISCVTargetLowering().

◆ hasStdExtD()

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

◆ hasStdExtF()

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

◆ hasStdExtM()

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

◆ hasStdExtV()

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

◆ hasStdExtZba()

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

◆ hasStdExtZbb()

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

◆ hasStdExtZbc()

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

Definition at line 113 of file RISCVSubtarget.h.

◆ hasStdExtZbe()

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

Definition at line 114 of file RISCVSubtarget.h.

◆ hasStdExtZbf()

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

Definition at line 115 of file RISCVSubtarget.h.

◆ hasStdExtZbm()

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

Definition at line 116 of file RISCVSubtarget.h.

◆ hasStdExtZbp()

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

◆ hasStdExtZbproposedc()

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

Definition at line 121 of file RISCVSubtarget.h.

◆ hasStdExtZbr()

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

Definition at line 118 of file RISCVSubtarget.h.

◆ hasStdExtZbs()

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

Definition at line 119 of file RISCVSubtarget.h.

◆ hasStdExtZbt()

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

◆ hasStdExtZfh()

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

◆ hasStdExtZvamo()

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

Definition at line 124 of file RISCVSubtarget.h.

◆ hasStdExtZvlsseg()

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

Definition at line 123 of file RISCVSubtarget.h.

◆ is64Bit()

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

◆ isRegisterReservedByUser()

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

◆ isRV32E()

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

Definition at line 127 of file RISCVSubtarget.h.

Referenced by llvm::RISCVTargetLowering::RISCVTargetLowering().

◆ ParseSubtargetFeatures()

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

◆ useRVVForFixedLengthVectors()

bool RISCVSubtarget::useRVVForFixedLengthVectors ( ) const

Member Data Documentation

◆ CallLoweringInfo

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

Definition at line 144 of file RISCVSubtarget.h.

Referenced by getCallLowering(), and RISCVSubtarget().

◆ InstSelector

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

Definition at line 145 of file RISCVSubtarget.h.

Referenced by getInstructionSelector(), and RISCVSubtarget().

◆ Legalizer

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

Definition at line 146 of file RISCVSubtarget.h.

◆ RegBankInfo

std::unique_ptr<RegisterBankInfo> llvm::RISCVSubtarget::RegBankInfo
protected

Definition at line 147 of file RISCVSubtarget.h.

Referenced by getRegBankInfo(), and RISCVSubtarget().


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