LLVM: llvm::PPCSubtarget Class Reference (original ) (raw )#include "[Target/PowerPC/PPCSubtarget.h](PPCSubtarget%5F8h%5Fsource.html)"
Public Member Functions
PPCSubtarget (const Triple &TT, StringRef CPU, StringRef TuneCPU, StringRef FS, const PPCTargetMachine &TM )
This constructor initializes the data members to match that of the specified triple.
~PPCSubtarget () override
void
ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
ParseSubtargetFeatures - Parses features string setting specified subtarget options.
Align
getStackAlignment () const
getStackAlignment - Returns the minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function for this subtarget.
unsigned
getCPUDirective () const
getCPUDirective - Returns the -m directive specified for the cpu.
const InstrItineraryData *
getInstrItineraryData () const override
getInstrItins - Return the instruction itineraries based on subtarget selection.
const PPCFrameLowering *
getFrameLowering () const override
const PPCInstrInfo *
getInstrInfo () const override
const PPCTargetLowering *
getTargetLowering () const override
const SelectionDAGTargetInfo *
getSelectionDAGInfo () const override
const PPCRegisterInfo *
getRegisterInfo () const override
const PPCTargetMachine &
getTargetMachine () const
PPCSubtarget &
initializeSubtargetDependencies (StringRef CPU, StringRef TuneCPU, StringRef FS)
initializeSubtargetDependencies - Initializes using a CPU, a TuneCPU, and feature string so that we can use initializer lists for subtarget initialization.
bool
useSoftFloat () const
bool
isLittleEndian () const
Align
getPlatformStackAlignment () const
unsigned
getRedZoneSize () const
bool
needsSwapsForVSXMemOps () const
POPCNTDKind
hasPOPCNTD () const
bool
isTargetELF () const
bool
isTargetMachO () const
bool
isTargetLinux () const
bool
isAIXABI () const
bool
isSVR4ABI () const
bool
isELFv2ABI () const
bool
is64BitELFABI () const
bool
is32BitELFABI () const
bool
isUsingPCRelativeCalls () const
bool
enableEarlyIfConversion () const override
Originally, this function return hasISEL().
bool
enableMachineScheduler () const override
Scheduling customization.
bool
enableMachinePipeliner () const override
Pipeliner customization.
bool
useDFAforSMS () const override
Machine Pipeliner customization.
bool
enablePostRAScheduler () const override
This overrides the PostRAScheduler bit in the SchedModel for each CPU.
AntiDepBreakMode
getAntiDepBreakMode () const override
void
getCriticalPathRCs (RegClassVector &CriticalPathRCs) const override
void
overrideSchedPolicy (MachineSchedPolicy &Policy, const SchedRegion &Region ) const override
bool
useAA () const override
bool
enableSubRegLiveness () const override
bool
enableSpillageCopyElimination () const override
bool
isGVIndirectSymbol (const GlobalValue *GV) const
True if the GV will be accessed via an indirect symbol.
MVT
getScalarIntVT () const
CodeModel::Model
getCodeModel (const TargetMachine &TM , const GlobalValue *GV) const
Calculates the effective code model for argument GV.
bool
usesFunctionDescriptors () const
True if the ABI is descriptor based.
unsigned
descriptorTOCAnchorOffset () const
unsigned
descriptorEnvironmentPointerOffset () const
MCRegister
getEnvironmentPointerRegister () const
MCRegister
getTOCPointerRegister () const
MCRegister
getThreadPointerRegister () const
MCRegister
getStackPointerRegister () const
bool
isXRaySupported () const override
bool
isPredictableSelectIsExpensive () const
unsigned
getGPRAllocationOrderIdx () const
const CallLowering *
getCallLowering () const override
const RegisterBankInfo *
getRegBankInfo () const override
const LegalizerInfo *
getLegalizerInfo () const override
InstructionSelector *
getInstructionSelector () const override
Definition at line 71 of file PPCSubtarget.h .
◆ POPCNTDKind
Enumerator
POPCNTD_Unavailable
POPCNTD_Slow
POPCNTD_Fast
Definition at line 73 of file PPCSubtarget.h .
This constructor initializes the data members to match that of the specified triple.
Definition at line 55 of file PPCSubtarget.cpp .
References CallLoweringInfo , llvm::createPPCInstructionSelector() , FrameLowering , getRegisterInfo() , getTargetLowering() , initializeSubtargetDependencies() , InstrInfo , InstSelector , Legalizer , RegBankInfo , TLInfo , TM , and TSInfo .
Referenced by initializeSubtargetDependencies() .
◆ ~PPCSubtarget()
PPCSubtarget::~PPCSubtarget ( )
overridedefault
◆ descriptorEnvironmentPointerOffset()
unsigned llvm::PPCSubtarget::descriptorEnvironmentPointerOffset ( ) const
inline
◆ descriptorTOCAnchorOffset()
unsigned llvm::PPCSubtarget::descriptorTOCAnchorOffset ( ) const
inline
◆ enableEarlyIfConversion()
bool llvm::PPCSubtarget::enableEarlyIfConversion ( ) const
inlineoverride
Originally, this function return hasISEL().
Now we always enable it, but may expand the ISEL instruction later.
Definition at line 217 of file PPCSubtarget.h .
◆ enableMachinePipeliner()
bool PPCSubtarget::enableMachinePipeliner ( ) const
override
◆ enableMachineScheduler()
bool PPCSubtarget::enableMachineScheduler ( ) const
override
◆ enablePostRAScheduler()
bool PPCSubtarget::enablePostRAScheduler ( ) const
override
This overrides the PostRAScheduler bit in the SchedModel for each CPU.
Definition at line 158 of file PPCSubtarget.cpp .
◆ enableSpillageCopyElimination()
bool llvm::PPCSubtarget::enableSpillageCopyElimination ( ) const
inlineoverride
◆ enableSubRegLiveness()
bool PPCSubtarget::enableSubRegLiveness ( ) const
override
◆ getAntiDepBreakMode()
PPCGenSubtargetInfo::AntiDepBreakMode PPCSubtarget::getAntiDepBreakMode ( ) const
override
◆ getCallLowering()◆ getCodeModel()◆ getCPUDirective()
unsigned llvm::PPCSubtarget::getCPUDirective ( ) const
inline
◆ getCriticalPathRCs()
void PPCSubtarget::getCriticalPathRCs ( RegClassVector & CriticalPathRCs ) const
override
◆ getEnvironmentPointerRegister()
MCRegister llvm::PPCSubtarget::getEnvironmentPointerRegister ( ) const
inline
◆ getFrameLowering()◆ getGPRAllocationOrderIdx()
unsigned llvm::PPCSubtarget::getGPRAllocationOrderIdx ( ) const
inline
◆ getInstrInfo()Definition at line 144 of file PPCSubtarget.h .
References InstrInfo .
Referenced by llvm::PPCRegisterInfo::eliminateFrameIndex() , getRegisterInfo() , llvm::PPCRegisterInfo::lowerACCRestore() , llvm::PPCRegisterInfo::lowerACCSpilling() , llvm::PPCRegisterInfo::lowerCRBitRestore() , llvm::PPCRegisterInfo::lowerCRBitSpilling() , llvm::PPCRegisterInfo::lowerCRRestore() , llvm::PPCRegisterInfo::lowerCRSpilling() , llvm::PPCRegisterInfo::lowerDMRRestore() , llvm::PPCRegisterInfo::lowerDMRSpilling() , llvm::PPCRegisterInfo::lowerDynamicAlloc() , llvm::PPCRegisterInfo::lowerDynamicAreaOffset() , llvm::PPCRegisterInfo::lowerOctWordSpilling() , llvm::PPCRegisterInfo::lowerPrepareProbedAlloca() , llvm::PPCRegisterInfo::lowerQuadwordRestore() , llvm::PPCRegisterInfo::lowerQuadwordSpilling() , llvm::PPCRegisterInfo::lowerWACCRestore() , llvm::PPCRegisterInfo::lowerWACCSpilling() , llvm::PPCRegisterInfo::materializeFrameBaseRegister() , llvm::PPCRegisterInfo::prepareDynamicAlloca() , llvm::PPCRegisterInfo::requiresFrameIndexScavenging() , and llvm::PPCRegisterInfo::resolveFrameIndex() .
◆ getInstrItineraryData()getInstrItins - Return the instruction itineraries based on subtarget selection.
Definition at line 137 of file PPCSubtarget.h .
References InstrItins .
◆ getInstructionSelector()◆ getLegalizerInfo()
Align llvm::PPCSubtarget::getPlatformStackAlignment ( ) const
inline
◆ getRedZoneSize()
unsigned llvm::PPCSubtarget::getRedZoneSize ( ) const
inline
◆ getRegBankInfo()◆ getRegisterInfo()◆ getScalarIntVT()
MVT llvm::PPCSubtarget::getScalarIntVT ( ) const
inline
◆ getSelectionDAGInfo()◆ getStackAlignment()
Align llvm::PPCSubtarget::getStackAlignment ( ) const
inline
getStackAlignment - Returns the minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function for this subtarget.
Definition at line 129 of file PPCSubtarget.h .
References StackAlignment .
◆ getStackPointerRegister()
MCRegister llvm::PPCSubtarget::getStackPointerRegister ( ) const
inline
◆ getTargetLowering()◆ getTargetMachine()◆ getThreadPointerRegister()
MCRegister llvm::PPCSubtarget::getThreadPointerRegister ( ) const
inline
◆ getTOCPointerRegister()
MCRegister llvm::PPCSubtarget::getTOCPointerRegister ( ) const
inline
◆ hasPOPCNTD()
POPCNTDKind llvm::PPCSubtarget::hasPOPCNTD ( ) const
inline
◆ initializeSubtargetDependencies()initializeSubtargetDependencies - Initializes using a CPU, a TuneCPU, and feature string so that we can use initializer lists for subtarget initialization.
Definition at line 47 of file PPCSubtarget.cpp .
References PPCSubtarget() .
Referenced by PPCSubtarget() .
◆ is32BitELFABI()
bool llvm::PPCSubtarget::is32BitELFABI ( ) const
inline
◆ is64BitELFABI()
bool llvm::PPCSubtarget::is64BitELFABI ( ) const
inline
◆ isAIXABI()
bool llvm::PPCSubtarget::isAIXABI ( ) const
inline
Definition at line 207 of file PPCSubtarget.h .
Referenced by buildCallOperands() , computeCRSaveOffset() , computeLinkageSize() , computeReturnSaveOffset() , computeTOCSaveOffset() , llvm::PPCRegisterInfo::getCalleeSavedRegs() , getCallOpcode() , llvm::PPCRegisterInfo::getCallPreservedMask() , getCodeModel() , getGPRAllocationOrderIdx() , llvm::PPCRegisterInfo::getLargestLegalSuperClass() , getRedZoneSize() , llvm::PPCRegisterInfo::getRegPressureLimit() , llvm::PPCRegisterInfo::getReservedRegs() , getThreadPointerRegister() , getTOCPointerRegister() , llvm::PPCRegisterInfo::isCallerPreservedPhysReg() , isGVIndirectSymbol() , isSVR4ABI() , isTOCSaveRestoreRequired() , prepareDescriptorIndirectCall() , transformCallee() , usesFunctionDescriptors() , and useSoftFloat() .
◆ isELFv2ABI()
bool PPCSubtarget::isELFv2ABI
(
)
const
◆ isGVIndirectSymbol()◆ isLittleEndian()
bool llvm::PPCSubtarget::isLittleEndian ( ) const
inline
Definition at line 176 of file PPCSubtarget.h .
References IsLittleEndian .
Referenced by fixupShuffleMaskForPermutedSToV() , getDataClassTest() , getSToVPermuted() , llvm::PPCRegisterInfo::lowerACCRestore() , llvm::PPCRegisterInfo::lowerACCSpilling() , llvm::PPCRegisterInfo::lowerDMRRestore() , llvm::PPCRegisterInfo::lowerDMRSpilling() , llvm::PPCRegisterInfo::lowerOctWordSpilling() , llvm::PPCRegisterInfo::lowerQuadwordRestore() , llvm::PPCRegisterInfo::lowerQuadwordSpilling() , llvm::PPCRegisterInfo::lowerWACCRestore() , llvm::PPCRegisterInfo::lowerWACCSpilling() , and needsSwapsForVSXMemOps() .
◆ isPredictableSelectIsExpensive()
bool llvm::PPCSubtarget::isPredictableSelectIsExpensive ( ) const
inline
◆ isSVR4ABI()
bool llvm::PPCSubtarget::isSVR4ABI ( ) const
inline
◆ isTargetELF()
bool llvm::PPCSubtarget::isTargetELF ( ) const
inline
◆ isTargetLinux()
bool llvm::PPCSubtarget::isTargetLinux ( ) const
inline
◆ isTargetMachO()
bool llvm::PPCSubtarget::isTargetMachO ( ) const
inline
◆ isUsingPCRelativeCalls()
bool PPCSubtarget::isUsingPCRelativeCalls
(
)
const
◆ isXRaySupported()
bool llvm::PPCSubtarget::isXRaySupported ( ) const
inlineoverride
◆ needsSwapsForVSXMemOps()
bool llvm::PPCSubtarget::needsSwapsForVSXMemOps ( ) const
inline
◆ overrideSchedPolicy()◆ ParseSubtargetFeatures()ParseSubtargetFeatures - Parses features string setting specified subtarget options.
Definition of function is auto generated by tblgen.
◆ useAA()
bool PPCSubtarget::useAA ( ) const
override
◆ useDFAforSMS()
bool PPCSubtarget::useDFAforSMS ( ) const
override
◆ usesFunctionDescriptors()
bool llvm::PPCSubtarget::usesFunctionDescriptors ( ) const
inline
◆ useSoftFloat()
bool llvm::PPCSubtarget::useSoftFloat ( ) const
inline
◆ CallLoweringInfo
std::unique_ptr<CallLowering > llvm::PPCSubtarget::CallLoweringInfo
protected
◆ CPUDirective
unsigned llvm::PPCSubtarget::CPUDirective
protected
◆ FrameLowering◆ HasPOPCNTD
◆ InstrInfo◆ InstrItins◆ InstSelector◆ IsLittleEndian
bool llvm::PPCSubtarget::IsLittleEndian
protected
◆ Legalizer◆ RegBankInfo◆ StackAlignment
Align llvm::PPCSubtarget::StackAlignment
protected
stackAlignment - The minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function.
Definition at line 82 of file PPCSubtarget.h .
Referenced by getStackAlignment() .
◆ TLInfo◆ TM◆ TSInfo
The documentation for this class was generated from the following files: