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

#include "Target/PowerPC/PPCSubtarget.h"

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

Public Types

enum  POPCNTDKind { POPCNTD_Unavailable, POPCNTD_Slow, POPCNTD_Fast }
 

Public Member Functions

 PPCSubtarget (const Triple &TT, const std::string &CPU, const std::string &FS, const PPCTargetMachine &TM)
 This constructor initializes the data members to match that of the specified triple. More...
 
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
 ParseSubtargetFeatures - Parses features string setting specified subtarget options. More...
 
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. More...
 
unsigned getCPUDirective () const
 getCPUDirective - Returns the -m directive specified for the cpu. More...
 
const InstrItineraryDatagetInstrItineraryData () const override
 getInstrItins - Return the instruction itineraries based on subtarget selection. More...
 
const PPCFrameLoweringgetFrameLowering () const override
 
const PPCInstrInfogetInstrInfo () const override
 
const PPCTargetLoweringgetTargetLowering () const override
 
const SelectionDAGTargetInfogetSelectionDAGInfo () const override
 
const PPCRegisterInfogetRegisterInfo () const override
 
const PPCTargetMachinegetTargetMachine () const
 
PPCSubtargetinitializeSubtargetDependencies (StringRef CPU, StringRef FS)
 initializeSubtargetDependencies - Initializes using a CPU and feature string so that we can use initializer lists for subtarget initialization. More...
 
bool isPPC64 () const
 isPPC64 - Return true if we are generating code for 64-bit pointer mode. More...
 
bool has64BitSupport () const
 has64BitSupport - Return true if the selected CPU supports 64-bit instructions, regardless of whether we are in 32-bit or 64-bit mode. More...
 
bool useSoftFloat () const
 
bool use64BitRegs () const
 use64BitRegs - Return true if in 64-bit mode or if we should use 64-bit registers in 32-bit mode when possible. More...
 
bool useCRBits () const
 useCRBits - Return true if we should store and manipulate i1 values in the individual condition register bits. More...
 
bool isLittleEndian () const
 
bool hasFCPSGN () const
 
bool hasFSQRT () const
 
bool hasFRE () const
 
bool hasFRES () const
 
bool hasFRSQRTE () const
 
bool hasFRSQRTES () const
 
bool hasRecipPrec () const
 
bool hasSTFIWX () const
 
bool hasLFIWAX () const
 
bool hasFPRND () const
 
bool hasFPCVT () const
 
bool hasAltivec () const
 
bool hasSPE () const
 
bool hasEFPU2 () const
 
bool hasFPU () const
 
bool hasVSX () const
 
bool needsTwoConstNR () const
 
bool hasP8Vector () const
 
bool hasP8Altivec () const
 
bool hasP8Crypto () const
 
bool hasP9Vector () const
 
bool hasP9Altivec () const
 
bool hasP10Vector () const
 
bool hasPrefixInstrs () const
 
bool hasPCRelativeMemops () const
 
bool hasMMA () const
 
bool hasROPProtect () const
 
bool hasPrivileged () const
 
bool pairedVectorMemops () const
 
bool hasMFOCRF () const
 
bool hasISEL () const
 
bool hasBPERMD () const
 
bool hasExtDiv () const
 
bool hasCMPB () const
 
bool hasLDBRX () const
 
bool isBookE () const
 
bool hasOnlyMSYNC () const
 
bool isPPC4xx () const
 
bool isPPC6xx () const
 
bool isSecurePlt () const
 
bool vectorsUseTwoUnits () const
 
bool isE500 () const
 
bool isFeatureMFTB () const
 
bool allowsUnalignedFPAccess () const
 
bool isDeprecatedDST () const
 
bool hasICBT () const
 
bool hasInvariantFunctionDescriptors () const
 
bool usePPCPreRASchedStrategy () const
 
bool usePPCPostRASchedStrategy () const
 
bool hasPartwordAtomics () const
 
bool hasQuadwordAtomics () const
 
bool hasDirectMove () const
 
Align getPlatformStackAlignment () const
 
unsigned getRedZoneSize () const
 
bool hasHTM () const
 
bool hasFloat128 () const
 
bool isISA2_07 () const
 
bool isISA3_0 () const
 
bool isISA3_1 () const
 
bool useLongCalls () const
 
bool hasFusion () const
 
bool hasStoreFusion () const
 
bool hasAddiLoadFusion () const
 
bool hasAddisLoadFusion () const
 
bool needsSwapsForVSXMemOps () const
 
POPCNTDKind hasPOPCNTD () const
 
const TriplegetTargetTriple () 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(). More...
 
bool enableMachineScheduler () const override
 Scheduling customization. More...
 
bool enableMachinePipeliner () const override
 Pipeliner customization. More...
 
bool useDFAforSMS () const override
 Machine Pipeliner customization. More...
 
bool enablePostRAScheduler () const override
 This overrides the PostRAScheduler bit in the SchedModel for each CPU. More...
 
AntiDepBreakMode getAntiDepBreakMode () const override
 
void getCriticalPathRCs (RegClassVector &CriticalPathRCs) const override
 
void overrideSchedPolicy (MachineSchedPolicy &Policy, unsigned NumRegionInstrs) const override
 
bool useAA () const override
 
bool enableSubRegLiveness () const override
 
bool isGVIndirectSymbol (const GlobalValue *GV) const
 True if the GV will be accessed via an indirect symbol. More...
 
bool usesFunctionDescriptors () const
 True if the ABI is descriptor based. More...
 
unsigned descriptorTOCAnchorOffset () const
 
unsigned descriptorEnvironmentPointerOffset () const
 
MCRegister getEnvironmentPointerRegister () const
 
MCRegister getTOCPointerRegister () const
 
MCRegister getStackPointerRegister () const
 
bool isXRaySupported () const override
 
bool isPredictableSelectIsExpensive () const
 
unsigned getGPRAllocationOrderIdx () const
 
const CallLoweringgetCallLowering () const override
 
const RegisterBankInfogetRegBankInfo () const override
 
const LegalizerInfogetLegalizerInfo () const override
 
InstructionSelectorgetInstructionSelector () const override
 

Protected Attributes

Triple TargetTriple
 TargetTriple - What processor and OS we're targeting. More...
 
Align StackAlignment
 stackAlignment - The minimum alignment known to hold of the stack frame on entry to the function and which must be maintained by every function. More...
 
InstrItineraryData InstrItins
 Selected instruction itineraries (one entry per itinerary class.) More...
 
unsigned CPUDirective
 Which cpu directive was used. More...
 
bool HasMFOCRF
 Used by the ISel to turn in optimizations for POWER4-derived architectures. More...
 
bool Has64BitSupport
 
bool Use64BitRegs
 
bool UseCRBits
 
bool HasHardFloat
 
bool IsPPC64
 
bool HasAltivec
 
bool HasFPU
 
bool HasSPE
 
bool HasEFPU2
 
bool HasVSX
 
bool NeedsTwoConstNR
 
bool HasP8Vector
 
bool HasP8Altivec
 
bool HasP8Crypto
 
bool HasP9Vector
 
bool HasP9Altivec
 
bool HasP10Vector
 
bool HasPrefixInstrs
 
bool HasPCRelativeMemops
 
bool HasMMA
 
bool HasROPProtect
 
bool HasPrivileged
 
bool HasFCPSGN
 
bool HasFSQRT
 
bool HasFRE
 
bool HasFRES
 
bool HasFRSQRTE
 
bool HasFRSQRTES
 
bool HasRecipPrec
 
bool HasSTFIWX
 
bool HasLFIWAX
 
bool HasFPRND
 
bool HasFPCVT
 
bool HasISEL
 
bool HasBPERMD
 
bool HasExtDiv
 
bool HasCMPB
 
bool HasLDBRX
 
bool IsBookE
 
bool HasOnlyMSYNC
 
bool IsE500
 
bool IsPPC4xx
 
bool IsPPC6xx
 
bool FeatureMFTB
 
bool AllowsUnalignedFPAccess
 
bool DeprecatedDST
 
bool IsLittleEndian
 
bool HasICBT
 
bool HasInvariantFunctionDescriptors
 
bool HasPartwordAtomics
 
bool HasQuadwordAtomics
 
bool HasDirectMove
 
bool HasHTM
 
bool HasFloat128
 
bool HasFusion
 
bool HasStoreFusion
 
bool HasAddiLoadFusion
 
bool HasAddisLoadFusion
 
bool IsISA2_07
 
bool IsISA3_0
 
bool IsISA3_1
 
bool UseLongCalls
 
bool SecurePlt
 
bool VectorsUseTwoUnits
 
bool UsePPCPreRASchedStrategy
 
bool UsePPCPostRASchedStrategy
 
bool PairedVectorMemops
 
bool PredictableSelectIsExpensive
 
bool HasModernAIXAs
 
bool IsAIX
 
POPCNTDKind HasPOPCNTD
 
const PPCTargetMachineTM
 
PPCFrameLowering FrameLowering
 
PPCInstrInfo InstrInfo
 
PPCTargetLowering TLInfo
 
SelectionDAGTargetInfo TSInfo
 
std::unique_ptr< CallLoweringCallLoweringInfo
 GlobalISel related APIs. More...
 
std::unique_ptr< LegalizerInfoLegalizer
 
std::unique_ptr< RegisterBankInfoRegBankInfo
 
std::unique_ptr< InstructionSelectorInstSelector
 

Detailed Description

Definition at line 71 of file PPCSubtarget.h.

Member Enumeration Documentation

◆ POPCNTDKind

Enumerator
POPCNTD_Unavailable 
POPCNTD_Slow 
POPCNTD_Fast 

Definition at line 73 of file PPCSubtarget.h.

Constructor & Destructor Documentation

◆ PPCSubtarget()

PPCSubtarget::PPCSubtarget ( const Triple TT,
const std::string &  CPU,
const std::string &  FS,
const PPCTargetMachine TM 
)

This constructor initializes the data members to match that of the specified triple.

Definition at line 54 of file PPCSubtarget.cpp.

References CallLoweringInfo, llvm::createPPCInstructionSelector(), getRegisterInfo(), getTargetLowering(), InstSelector, RegBankInfo, and TM.

Member Function Documentation

◆ allowsUnalignedFPAccess()

bool llvm::PPCSubtarget::allowsUnalignedFPAccess ( ) const
inline

◆ descriptorEnvironmentPointerOffset()

unsigned llvm::PPCSubtarget::descriptorEnvironmentPointerOffset ( ) const
inline

Definition at line 390 of file PPCSubtarget.h.

References assert(), IsPPC64, and usesFunctionDescriptors().

Referenced by prepareDescriptorIndirectCall().

◆ descriptorTOCAnchorOffset()

unsigned llvm::PPCSubtarget::descriptorTOCAnchorOffset ( ) const
inline

Definition at line 384 of file PPCSubtarget.h.

References assert(), IsPPC64, and usesFunctionDescriptors().

Referenced by prepareDescriptorIndirectCall().

◆ 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 355 of file PPCSubtarget.h.

◆ enableMachinePipeliner()

bool PPCSubtarget::enableMachinePipeliner ( ) const
override

Pipeliner customization.

Definition at line 193 of file PPCSubtarget.cpp.

References EnableMachinePipeliner.

◆ enableMachineScheduler()

bool PPCSubtarget::enableMachineScheduler ( ) const
override

Scheduling customization.

Definition at line 191 of file PPCSubtarget.cpp.

Referenced by llvm::PPCTargetLowering::getSchedulingPreference(), and llvm::PPCTargetLowering::PPCTargetLowering().

◆ enablePostRAScheduler()

bool PPCSubtarget::enablePostRAScheduler ( ) const
override

This overrides the PostRAScheduler bit in the SchedModel for each CPU.

Definition at line 200 of file PPCSubtarget.cpp.

◆ enableSubRegLiveness()

bool PPCSubtarget::enableSubRegLiveness ( ) const
override

Definition at line 229 of file PPCSubtarget.cpp.

References UseSubRegLiveness.

◆ getAntiDepBreakMode()

PPCGenSubtargetInfo::AntiDepBreakMode PPCSubtarget::getAntiDepBreakMode ( ) const
override

Definition at line 202 of file PPCSubtarget.cpp.

◆ getCallLowering()

const CallLowering * PPCSubtarget::getCallLowering ( ) const
override

Definition at line 251 of file PPCSubtarget.cpp.

References CallLoweringInfo.

◆ getCPUDirective()

unsigned llvm::PPCSubtarget::getCPUDirective ( ) const
inline

◆ getCriticalPathRCs()

void PPCSubtarget::getCriticalPathRCs ( RegClassVector &  CriticalPathRCs) const
override

Definition at line 206 of file PPCSubtarget.cpp.

References isPPC64().

◆ getEnvironmentPointerRegister()

MCRegister llvm::PPCSubtarget::getEnvironmentPointerRegister ( ) const
inline

Definition at line 396 of file PPCSubtarget.h.

References assert(), IsPPC64, and usesFunctionDescriptors().

Referenced by buildCallOperands(), and prepareDescriptorIndirectCall().

◆ getFrameLowering()

const PPCFrameLowering* llvm::PPCSubtarget::getFrameLowering ( ) const
inlineoverride

◆ getGPRAllocationOrderIdx()

unsigned llvm::PPCSubtarget::getGPRAllocationOrderIdx ( ) const
inline

Definition at line 420 of file PPCSubtarget.h.

References is64BitELFABI(), and isAIXABI().

◆ getInstrInfo()

const PPCInstrInfo* llvm::PPCSubtarget::getInstrInfo ( ) const
inlineoverride

◆ getInstrItineraryData()

const InstrItineraryData* llvm::PPCSubtarget::getInstrItineraryData ( ) const
inlineoverride

getInstrItins - Return the instruction itineraries based on subtarget selection.

Definition at line 199 of file PPCSubtarget.h.

References InstrItins.

◆ getInstructionSelector()

InstructionSelector * PPCSubtarget::getInstructionSelector ( ) const
override

Definition at line 263 of file PPCSubtarget.cpp.

References InstSelector.

◆ getLegalizerInfo()

const LegalizerInfo * PPCSubtarget::getLegalizerInfo ( ) const
override

Definition at line 259 of file PPCSubtarget.cpp.

◆ getPlatformStackAlignment()

Align llvm::PPCSubtarget::getPlatformStackAlignment ( ) const
inline

Definition at line 309 of file PPCSubtarget.h.

References Align.

◆ getRedZoneSize()

unsigned llvm::PPCSubtarget::getRedZoneSize ( ) const
inline

◆ getRegBankInfo()

const RegisterBankInfo * PPCSubtarget::getRegBankInfo ( ) const
override

Definition at line 255 of file PPCSubtarget.cpp.

References RegBankInfo.

◆ getRegisterInfo()

const PPCRegisterInfo* llvm::PPCSubtarget::getRegisterInfo ( ) const
inlineoverride

◆ getSelectionDAGInfo()

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

Definition at line 210 of file PPCSubtarget.h.

References TSInfo.

◆ 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 191 of file PPCSubtarget.h.

References StackAlignment.

◆ getStackPointerRegister()

MCRegister llvm::PPCSubtarget::getStackPointerRegister ( ) const
inline

Definition at line 408 of file PPCSubtarget.h.

References IsPPC64.

Referenced by buildCallOperands(), and llvm::PPCRegisterInfo::isCallerPreservedPhysReg().

◆ getTargetLowering()

const PPCTargetLowering* llvm::PPCSubtarget::getTargetLowering ( ) const
inlineoverride

◆ getTargetMachine()

const PPCTargetMachine& llvm::PPCSubtarget::getTargetMachine ( ) const
inline

◆ getTargetTriple()

const Triple& llvm::PPCSubtarget::getTargetTriple ( ) const
inline

Definition at line 339 of file PPCSubtarget.h.

References TargetTriple.

◆ getTOCPointerRegister()

MCRegister llvm::PPCSubtarget::getTOCPointerRegister ( ) const
inline

◆ has64BitSupport()

bool llvm::PPCSubtarget::has64BitSupport ( ) const
inline

has64BitSupport - Return true if the selected CPU supports 64-bit instructions, regardless of whether we are in 32-bit or 64-bit mode.

Definition at line 233 of file PPCSubtarget.h.

References Has64BitSupport.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasAddiLoadFusion()

bool llvm::PPCSubtarget::hasAddiLoadFusion ( ) const
inline

Definition at line 331 of file PPCSubtarget.h.

References HasAddiLoadFusion.

◆ hasAddisLoadFusion()

bool llvm::PPCSubtarget::hasAddisLoadFusion ( ) const
inline

Definition at line 332 of file PPCSubtarget.h.

References HasAddisLoadFusion.

◆ hasAltivec()

bool llvm::PPCSubtarget::hasAltivec ( ) const
inline

◆ hasBPERMD()

bool llvm::PPCSubtarget::hasBPERMD ( ) const
inline

Definition at line 285 of file PPCSubtarget.h.

References HasBPERMD.

◆ hasCMPB()

bool llvm::PPCSubtarget::hasCMPB ( ) const
inline

Definition at line 287 of file PPCSubtarget.h.

References HasCMPB.

◆ hasDirectMove()

bool llvm::PPCSubtarget::hasDirectMove ( ) const
inline

◆ hasEFPU2()

bool llvm::PPCSubtarget::hasEFPU2 ( ) const
inline

Definition at line 267 of file PPCSubtarget.h.

References HasEFPU2.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasExtDiv()

bool llvm::PPCSubtarget::hasExtDiv ( ) const
inline

Definition at line 286 of file PPCSubtarget.h.

References HasExtDiv.

◆ hasFCPSGN()

bool llvm::PPCSubtarget::hasFCPSGN ( ) const
inline

Definition at line 254 of file PPCSubtarget.h.

References HasFCPSGN.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFloat128()

bool llvm::PPCSubtarget::hasFloat128 ( ) const
inline

Definition at line 324 of file PPCSubtarget.h.

References HasFloat128.

◆ hasFPCVT()

bool llvm::PPCSubtarget::hasFPCVT ( ) const
inline

Definition at line 264 of file PPCSubtarget.h.

References HasFPCVT.

Referenced by convertFPToInt(), convertIntToFP(), and llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFPRND()

bool llvm::PPCSubtarget::hasFPRND ( ) const
inline

Definition at line 263 of file PPCSubtarget.h.

References HasFPRND.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFPU()

bool llvm::PPCSubtarget::hasFPU ( ) const
inline

Definition at line 268 of file PPCSubtarget.h.

References HasFPU.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFRE()

bool llvm::PPCSubtarget::hasFRE ( ) const
inline

Definition at line 256 of file PPCSubtarget.h.

References HasFRE.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFRES()

bool llvm::PPCSubtarget::hasFRES ( ) const
inline

Definition at line 257 of file PPCSubtarget.h.

References HasFRES.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFRSQRTE()

bool llvm::PPCSubtarget::hasFRSQRTE ( ) const
inline

Definition at line 258 of file PPCSubtarget.h.

References HasFRSQRTE.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFRSQRTES()

bool llvm::PPCSubtarget::hasFRSQRTES ( ) const
inline

Definition at line 259 of file PPCSubtarget.h.

References HasFRSQRTES.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFSQRT()

bool llvm::PPCSubtarget::hasFSQRT ( ) const
inline

Definition at line 255 of file PPCSubtarget.h.

References HasFSQRT.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasFusion()

bool llvm::PPCSubtarget::hasFusion ( ) const
inline

Definition at line 329 of file PPCSubtarget.h.

References HasFusion.

◆ hasHTM()

bool llvm::PPCSubtarget::hasHTM ( ) const
inline

Definition at line 323 of file PPCSubtarget.h.

References HasHTM.

◆ hasICBT()

bool llvm::PPCSubtarget::hasICBT ( ) const
inline

Definition at line 299 of file PPCSubtarget.h.

References HasICBT.

◆ hasInvariantFunctionDescriptors()

bool llvm::PPCSubtarget::hasInvariantFunctionDescriptors ( ) const
inline

Definition at line 300 of file PPCSubtarget.h.

References HasInvariantFunctionDescriptors.

Referenced by prepareDescriptorIndirectCall().

◆ hasISEL()

bool llvm::PPCSubtarget::hasISEL ( ) const
inline

Definition at line 284 of file PPCSubtarget.h.

References HasISEL.

◆ hasLDBRX()

bool llvm::PPCSubtarget::hasLDBRX ( ) const
inline

Definition at line 288 of file PPCSubtarget.h.

References HasLDBRX.

Referenced by llvm::PPCTargetLowering::PerformDAGCombine().

◆ hasLFIWAX()

bool llvm::PPCSubtarget::hasLFIWAX ( ) const
inline

Definition at line 262 of file PPCSubtarget.h.

References HasLFIWAX.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasMFOCRF()

bool llvm::PPCSubtarget::hasMFOCRF ( ) const
inline

Definition at line 283 of file PPCSubtarget.h.

References HasMFOCRF.

◆ hasMMA()

bool llvm::PPCSubtarget::hasMMA ( ) const
inline

◆ hasOnlyMSYNC()

bool llvm::PPCSubtarget::hasOnlyMSYNC ( ) const
inline

Definition at line 290 of file PPCSubtarget.h.

References HasOnlyMSYNC.

◆ hasP10Vector()

bool llvm::PPCSubtarget::hasP10Vector ( ) const
inline

Definition at line 276 of file PPCSubtarget.h.

References HasP10Vector.

◆ hasP8Altivec()

bool llvm::PPCSubtarget::hasP8Altivec ( ) const
inline

Definition at line 272 of file PPCSubtarget.h.

References HasP8Altivec.

Referenced by getVectorCompareInfo(), and llvm::PPCTargetLowering::PPCTargetLowering().

◆ hasP8Crypto()

bool llvm::PPCSubtarget::hasP8Crypto ( ) const
inline

Definition at line 273 of file PPCSubtarget.h.

References HasP8Crypto.

◆ hasP8Vector()

bool llvm::PPCSubtarget::hasP8Vector ( ) const
inline

◆ hasP9Altivec()

bool llvm::PPCSubtarget::hasP9Altivec ( ) const
inline

◆ hasP9Vector()

bool llvm::PPCSubtarget::hasP9Vector ( ) const
inline

◆ hasPartwordAtomics()

bool llvm::PPCSubtarget::hasPartwordAtomics ( ) const
inline

◆ hasPCRelativeMemops()

bool llvm::PPCSubtarget::hasPCRelativeMemops ( ) const
inline

Definition at line 278 of file PPCSubtarget.h.

References HasPCRelativeMemops.

Referenced by isUsingPCRelativeCalls().

◆ hasPOPCNTD()

POPCNTDKind llvm::PPCSubtarget::hasPOPCNTD ( ) const
inline

◆ hasPrefixInstrs()

bool llvm::PPCSubtarget::hasPrefixInstrs ( ) const
inline

◆ hasPrivileged()

bool llvm::PPCSubtarget::hasPrivileged ( ) const
inline

◆ hasQuadwordAtomics()

bool llvm::PPCSubtarget::hasQuadwordAtomics ( ) const
inline

◆ hasRecipPrec()

bool llvm::PPCSubtarget::hasRecipPrec ( ) const
inline

Definition at line 260 of file PPCSubtarget.h.

References HasRecipPrec.

Referenced by getEstimateRefinementSteps().

◆ hasROPProtect()

bool llvm::PPCSubtarget::hasROPProtect ( ) const
inline

◆ hasSPE()

bool llvm::PPCSubtarget::hasSPE ( ) const
inline

◆ hasSTFIWX()

bool llvm::PPCSubtarget::hasSTFIWX ( ) const
inline

Definition at line 261 of file PPCSubtarget.h.

References HasSTFIWX.

◆ hasStoreFusion()

bool llvm::PPCSubtarget::hasStoreFusion ( ) const
inline

Definition at line 330 of file PPCSubtarget.h.

References HasStoreFusion.

◆ hasVSX()

bool llvm::PPCSubtarget::hasVSX ( ) const
inline

◆ initializeSubtargetDependencies()

PPCSubtarget & PPCSubtarget::initializeSubtargetDependencies ( StringRef  CPU,
StringRef  FS 
)

initializeSubtargetDependencies - Initializes using a CPU and feature string so that we can use initializer lists for subtarget initialization.

Definition at line 47 of file PPCSubtarget.cpp.

References llvm::X86AS::FS.

◆ is32BitELFABI()

bool llvm::PPCSubtarget::is32BitELFABI ( ) const
inline

◆ is64BitELFABI()

bool llvm::PPCSubtarget::is64BitELFABI ( ) const
inline

◆ isAIXABI()

bool llvm::PPCSubtarget::isAIXABI ( ) const
inline

◆ isBookE()

bool llvm::PPCSubtarget::isBookE ( ) const
inline

Definition at line 289 of file PPCSubtarget.h.

References IsBookE.

◆ isDeprecatedDST()

bool llvm::PPCSubtarget::isDeprecatedDST ( ) const
inline

Definition at line 298 of file PPCSubtarget.h.

References DeprecatedDST.

◆ isE500()

bool llvm::PPCSubtarget::isE500 ( ) const
inline

Definition at line 295 of file PPCSubtarget.h.

References IsE500.

◆ isELFv2ABI()

bool PPCSubtarget::isELFv2ABI ( ) const

◆ isFeatureMFTB()

bool llvm::PPCSubtarget::isFeatureMFTB ( ) const
inline

Definition at line 296 of file PPCSubtarget.h.

References FeatureMFTB.

◆ isGVIndirectSymbol()

bool PPCSubtarget::isGVIndirectSymbol ( const GlobalValue GV) const

◆ isISA2_07()

bool llvm::PPCSubtarget::isISA2_07 ( ) const
inline

Definition at line 325 of file PPCSubtarget.h.

References IsISA2_07.

◆ isISA3_0()

bool llvm::PPCSubtarget::isISA3_0 ( ) const
inline

◆ isISA3_1()

bool llvm::PPCSubtarget::isISA3_1 ( ) const
inline

◆ isLittleEndian()

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

◆ isPPC4xx()

bool llvm::PPCSubtarget::isPPC4xx ( ) const
inline

Definition at line 291 of file PPCSubtarget.h.

References IsPPC4xx.

◆ isPPC64()

bool PPCSubtarget::isPPC64 ( ) const

isPPC64 - Return true if we are generating code for 64-bit pointer mode.

Definition at line 243 of file PPCSubtarget.cpp.

References llvm::PPCTargetMachine::isPPC64(), and TM.

Referenced by llvm::PPCFrameLowering::addScavengingSpillSlot(), llvm::PPCInstrInfo::analyzeBranch(), buildCallOperands(), llvm::PPCTargetLowering::BuildSDIVPow2(), CC_AIX(), combineADDToADDZE(), computeBasePointerSaveOffset(), computeCRSaveOffset(), computeFramePointerSaveOffset(), computeLinkageSize(), computeReturnSaveOffset(), computeTOCSaveOffset(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::PPCTargetLowering::emitProbedAlloca(), llvm::PPCFrameLowering::emitPrologue(), EmitTailCallStoreFPAndRetAddr(), llvm::PPCTargetLowering::emitTrailingFence(), llvm::PPCInstrInfo::expandPostRAPseudo(), llvm::PPCInstrInfo::findLoopInstr(), llvm::PPCTargetLowering::getByValTypeAlignment(), llvm::PPCFrameLowering::getCalleeSavedSpillSlots(), getCriticalPathRCs(), llvm::PPCTargetLowering::getExceptionPointerRegister(), llvm::PPCTargetLowering::getExceptionSelectorRegister(), llvm::PPCTTIImpl::getIntImmCostInst(), llvm::PPCTargetLowering::getOptimalMemOpType(), llvm::PPCTargetLowering::getPICJumpTableRelocBase(), llvm::PPCTargetLowering::getPICJumpTableRelocBaseExpr(), getRedZoneSize(), llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::PPCTTIImpl::getRegisterBitWidth(), llvm::PPCTargetLowering::getRegisterByName(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::PPCInstrInfo::insertBranch(), is32BitELFABI(), is64BitELFABI(), llvm::PPCInstrInfo::isBDNZ(), llvm::PPCTargetLowering::isJumpTableRelative(), llvm::PPCInstrInfo::isTOCSaveMI(), isUsingPCRelativeCalls(), llvm::PPCTargetLowering::isZExtFree(), llvm::PPCInstrInfo::onlyFoldImmediate(), llvm::PPCInstrInfo::optimizeCompareInstr(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::PPCInstrInfo::PredicateInstruction(), prepareDescriptorIndirectCall(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::SelectAddressRegImm(), llvm::PPCTargetLowering::SelectAddressRegRegOnly(), llvm::PPCTargetLowering::SelectForceXFormMode(), llvm::PPCTargetLowering::SelectOptimalAddrMode(), and llvm::PPCInstrInfo::shouldReduceRegisterPressure().

◆ isPPC6xx()

bool llvm::PPCSubtarget::isPPC6xx ( ) const
inline

Definition at line 292 of file PPCSubtarget.h.

References IsPPC6xx.

◆ isPredictableSelectIsExpensive()

bool llvm::PPCSubtarget::isPredictableSelectIsExpensive ( ) const
inline

Definition at line 414 of file PPCSubtarget.h.

References PredictableSelectIsExpensive.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ isSecurePlt()

bool llvm::PPCSubtarget::isSecurePlt ( ) const
inline

Definition at line 293 of file PPCSubtarget.h.

References SecurePlt.

Referenced by GetSymbolRef().

◆ isSVR4ABI()

bool llvm::PPCSubtarget::isSVR4ABI ( ) const
inline

◆ isTargetELF()

bool llvm::PPCSubtarget::isTargetELF ( ) const
inline

Definition at line 341 of file PPCSubtarget.h.

References llvm::Triple::isOSBinFormatELF(), and TargetTriple.

◆ isTargetLinux()

bool llvm::PPCSubtarget::isTargetLinux ( ) const
inline

◆ isTargetMachO()

bool llvm::PPCSubtarget::isTargetMachO ( ) const
inline

Definition at line 342 of file PPCSubtarget.h.

References llvm::Triple::isOSBinFormatMachO(), and TargetTriple.

◆ isUsingPCRelativeCalls()

bool PPCSubtarget::isUsingPCRelativeCalls ( ) const

◆ isXRaySupported()

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

Definition at line 412 of file PPCSubtarget.h.

References IsLittleEndian, and IsPPC64.

◆ needsSwapsForVSXMemOps()

bool llvm::PPCSubtarget::needsSwapsForVSXMemOps ( ) const
inline

◆ needsTwoConstNR()

bool llvm::PPCSubtarget::needsTwoConstNR ( ) const
inline

Definition at line 270 of file PPCSubtarget.h.

References NeedsTwoConstNR.

◆ overrideSchedPolicy()

void PPCSubtarget::overrideSchedPolicy ( MachineSchedPolicy Policy,
unsigned  NumRegionInstrs 
) const
override

◆ pairedVectorMemops()

bool llvm::PPCSubtarget::pairedVectorMemops ( ) const
inline

◆ ParseSubtargetFeatures()

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

ParseSubtargetFeatures - Parses features string setting specified subtarget options.

Definition of function is auto generated by tblgen.

◆ use64BitRegs()

bool llvm::PPCSubtarget::use64BitRegs ( ) const
inline

use64BitRegs - Return true if in 64-bit mode or if we should use 64-bit registers in 32-bit mode when possible.

This can only true if has64BitSupport() returns true.

Definition at line 244 of file PPCSubtarget.h.

References Use64BitRegs.

Referenced by llvm::PPCTargetLowering::PPCTargetLowering().

◆ useAA()

bool PPCSubtarget::useAA ( ) const
override

Definition at line 225 of file PPCSubtarget.cpp.

◆ useCRBits()

bool llvm::PPCSubtarget::useCRBits ( ) const
inline

useCRBits - Return true if we should store and manipulate i1 values in the individual condition register bits.

Definition at line 248 of file PPCSubtarget.h.

References UseCRBits.

Referenced by llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::PPCTargetLowering::getSetCCResultType(), and llvm::PPCTargetLowering::PPCTargetLowering().

◆ useDFAforSMS()

bool PPCSubtarget::useDFAforSMS ( ) const
override

Machine Pipeliner customization.

Definition at line 197 of file PPCSubtarget.cpp.

◆ useLongCalls()

bool llvm::PPCSubtarget::useLongCalls ( ) const
inline

Definition at line 328 of file PPCSubtarget.h.

References UseLongCalls.

◆ usePPCPostRASchedStrategy()

bool llvm::PPCSubtarget::usePPCPostRASchedStrategy ( ) const
inline

Definition at line 304 of file PPCSubtarget.h.

References UsePPCPostRASchedStrategy.

◆ usePPCPreRASchedStrategy()

bool llvm::PPCSubtarget::usePPCPreRASchedStrategy ( ) const
inline

Definition at line 303 of file PPCSubtarget.h.

References UsePPCPreRASchedStrategy.

◆ usesFunctionDescriptors()

bool llvm::PPCSubtarget::usesFunctionDescriptors ( ) const
inline

◆ useSoftFloat()

bool llvm::PPCSubtarget::useSoftFloat ( ) const
inline

◆ vectorsUseTwoUnits()

bool llvm::PPCSubtarget::vectorsUseTwoUnits ( ) const
inline

Definition at line 294 of file PPCSubtarget.h.

References VectorsUseTwoUnits.

Referenced by llvm::PPCTTIImpl::vectorCostAdjustment().

Member Data Documentation

◆ AllowsUnalignedFPAccess

bool llvm::PPCSubtarget::AllowsUnalignedFPAccess
protected

Definition at line 136 of file PPCSubtarget.h.

Referenced by allowsUnalignedFPAccess().

◆ CallLoweringInfo

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

GlobalISel related APIs.

Definition at line 172 of file PPCSubtarget.h.

Referenced by getCallLowering(), and PPCSubtarget().

◆ CPUDirective

unsigned llvm::PPCSubtarget::CPUDirective
protected

Which cpu directive was used.

Definition at line 91 of file PPCSubtarget.h.

Referenced by getCPUDirective().

◆ DeprecatedDST

bool llvm::PPCSubtarget::DeprecatedDST
protected

Definition at line 137 of file PPCSubtarget.h.

Referenced by isDeprecatedDST().

◆ FeatureMFTB

bool llvm::PPCSubtarget::FeatureMFTB
protected

Definition at line 135 of file PPCSubtarget.h.

Referenced by isFeatureMFTB().

◆ FrameLowering

PPCFrameLowering llvm::PPCSubtarget::FrameLowering
protected

Definition at line 166 of file PPCSubtarget.h.

Referenced by getFrameLowering().

◆ Has64BitSupport

bool llvm::PPCSubtarget::Has64BitSupport
protected

Definition at line 95 of file PPCSubtarget.h.

Referenced by has64BitSupport().

◆ HasAddiLoadFusion

bool llvm::PPCSubtarget::HasAddiLoadFusion
protected

Definition at line 148 of file PPCSubtarget.h.

Referenced by hasAddiLoadFusion().

◆ HasAddisLoadFusion

bool llvm::PPCSubtarget::HasAddisLoadFusion
protected

Definition at line 149 of file PPCSubtarget.h.

Referenced by hasAddisLoadFusion().

◆ HasAltivec

bool llvm::PPCSubtarget::HasAltivec
protected

Definition at line 100 of file PPCSubtarget.h.

Referenced by hasAltivec().

◆ HasBPERMD

bool llvm::PPCSubtarget::HasBPERMD
protected

Definition at line 126 of file PPCSubtarget.h.

Referenced by hasBPERMD().

◆ HasCMPB

bool llvm::PPCSubtarget::HasCMPB
protected

Definition at line 128 of file PPCSubtarget.h.

Referenced by hasCMPB().

◆ HasDirectMove

bool llvm::PPCSubtarget::HasDirectMove
protected

Definition at line 143 of file PPCSubtarget.h.

Referenced by hasDirectMove().

◆ HasEFPU2

bool llvm::PPCSubtarget::HasEFPU2
protected

Definition at line 103 of file PPCSubtarget.h.

Referenced by hasEFPU2().

◆ HasExtDiv

bool llvm::PPCSubtarget::HasExtDiv
protected

Definition at line 127 of file PPCSubtarget.h.

Referenced by hasExtDiv().

◆ HasFCPSGN

bool llvm::PPCSubtarget::HasFCPSGN
protected

Definition at line 117 of file PPCSubtarget.h.

Referenced by hasFCPSGN().

◆ HasFloat128

bool llvm::PPCSubtarget::HasFloat128
protected

Definition at line 145 of file PPCSubtarget.h.

Referenced by hasFloat128().

◆ HasFPCVT

bool llvm::PPCSubtarget::HasFPCVT
protected

Definition at line 124 of file PPCSubtarget.h.

Referenced by hasFPCVT().

◆ HasFPRND

bool llvm::PPCSubtarget::HasFPRND
protected

Definition at line 123 of file PPCSubtarget.h.

Referenced by hasFPRND().

◆ HasFPU

bool llvm::PPCSubtarget::HasFPU
protected

Definition at line 101 of file PPCSubtarget.h.

Referenced by hasFPU().

◆ HasFRE

bool llvm::PPCSubtarget::HasFRE
protected

Definition at line 119 of file PPCSubtarget.h.

Referenced by hasFRE().

◆ HasFRES

bool llvm::PPCSubtarget::HasFRES
protected

Definition at line 119 of file PPCSubtarget.h.

Referenced by hasFRES().

◆ HasFRSQRTE

bool llvm::PPCSubtarget::HasFRSQRTE
protected

Definition at line 119 of file PPCSubtarget.h.

Referenced by hasFRSQRTE().

◆ HasFRSQRTES

bool llvm::PPCSubtarget::HasFRSQRTES
protected

Definition at line 119 of file PPCSubtarget.h.

Referenced by hasFRSQRTES().

◆ HasFSQRT

bool llvm::PPCSubtarget::HasFSQRT
protected

Definition at line 118 of file PPCSubtarget.h.

Referenced by hasFSQRT().

◆ HasFusion

bool llvm::PPCSubtarget::HasFusion
protected

Definition at line 146 of file PPCSubtarget.h.

Referenced by hasFusion().

◆ HasHardFloat

bool llvm::PPCSubtarget::HasHardFloat
protected

Definition at line 98 of file PPCSubtarget.h.

Referenced by useSoftFloat().

◆ HasHTM

bool llvm::PPCSubtarget::HasHTM
protected

Definition at line 144 of file PPCSubtarget.h.

Referenced by hasHTM().

◆ HasICBT

bool llvm::PPCSubtarget::HasICBT
protected

Definition at line 139 of file PPCSubtarget.h.

Referenced by hasICBT().

◆ HasInvariantFunctionDescriptors

bool llvm::PPCSubtarget::HasInvariantFunctionDescriptors
protected

Definition at line 140 of file PPCSubtarget.h.

Referenced by hasInvariantFunctionDescriptors().

◆ HasISEL

bool llvm::PPCSubtarget::HasISEL
protected

Definition at line 125 of file PPCSubtarget.h.

Referenced by hasISEL().

◆ HasLDBRX

bool llvm::PPCSubtarget::HasLDBRX
protected

Definition at line 129 of file PPCSubtarget.h.

Referenced by hasLDBRX().

◆ HasLFIWAX

bool llvm::PPCSubtarget::HasLFIWAX
protected

Definition at line 122 of file PPCSubtarget.h.

Referenced by hasLFIWAX().

◆ HasMFOCRF

bool llvm::PPCSubtarget::HasMFOCRF
protected

Used by the ISel to turn in optimizations for POWER4-derived architectures.

Definition at line 94 of file PPCSubtarget.h.

Referenced by hasMFOCRF().

◆ HasMMA

bool llvm::PPCSubtarget::HasMMA
protected

Definition at line 114 of file PPCSubtarget.h.

Referenced by hasMMA().

◆ HasModernAIXAs

bool llvm::PPCSubtarget::HasModernAIXAs
protected

Definition at line 160 of file PPCSubtarget.h.

◆ HasOnlyMSYNC

bool llvm::PPCSubtarget::HasOnlyMSYNC
protected

Definition at line 131 of file PPCSubtarget.h.

Referenced by hasOnlyMSYNC().

◆ HasP10Vector

bool llvm::PPCSubtarget::HasP10Vector
protected

Definition at line 111 of file PPCSubtarget.h.

Referenced by hasP10Vector().

◆ HasP8Altivec

bool llvm::PPCSubtarget::HasP8Altivec
protected

Definition at line 107 of file PPCSubtarget.h.

Referenced by hasP8Altivec().

◆ HasP8Crypto

bool llvm::PPCSubtarget::HasP8Crypto
protected

Definition at line 108 of file PPCSubtarget.h.

Referenced by hasP8Crypto().

◆ HasP8Vector

bool llvm::PPCSubtarget::HasP8Vector
protected

Definition at line 106 of file PPCSubtarget.h.

Referenced by hasP8Vector().

◆ HasP9Altivec

bool llvm::PPCSubtarget::HasP9Altivec
protected

Definition at line 110 of file PPCSubtarget.h.

Referenced by hasP9Altivec().

◆ HasP9Vector

bool llvm::PPCSubtarget::HasP9Vector
protected

Definition at line 109 of file PPCSubtarget.h.

Referenced by hasP9Vector().

◆ HasPartwordAtomics

bool llvm::PPCSubtarget::HasPartwordAtomics
protected

Definition at line 141 of file PPCSubtarget.h.

Referenced by hasPartwordAtomics().

◆ HasPCRelativeMemops

bool llvm::PPCSubtarget::HasPCRelativeMemops
protected

Definition at line 113 of file PPCSubtarget.h.

Referenced by hasPCRelativeMemops().

◆ HasPOPCNTD

POPCNTDKind llvm::PPCSubtarget::HasPOPCNTD
protected

Definition at line 163 of file PPCSubtarget.h.

Referenced by hasPOPCNTD().

◆ HasPrefixInstrs

bool llvm::PPCSubtarget::HasPrefixInstrs
protected

Definition at line 112 of file PPCSubtarget.h.

Referenced by hasPrefixInstrs().

◆ HasPrivileged

bool llvm::PPCSubtarget::HasPrivileged
protected

Definition at line 116 of file PPCSubtarget.h.

Referenced by hasPrivileged().

◆ HasQuadwordAtomics

bool llvm::PPCSubtarget::HasQuadwordAtomics
protected

Definition at line 142 of file PPCSubtarget.h.

Referenced by hasQuadwordAtomics().

◆ HasRecipPrec

bool llvm::PPCSubtarget::HasRecipPrec
protected

Definition at line 120 of file PPCSubtarget.h.

Referenced by hasRecipPrec().

◆ HasROPProtect

bool llvm::PPCSubtarget::HasROPProtect
protected

Definition at line 115 of file PPCSubtarget.h.

Referenced by hasROPProtect().

◆ HasSPE

bool llvm::PPCSubtarget::HasSPE
protected

Definition at line 102 of file PPCSubtarget.h.

Referenced by hasSPE().

◆ HasSTFIWX

bool llvm::PPCSubtarget::HasSTFIWX
protected

Definition at line 121 of file PPCSubtarget.h.

Referenced by hasSTFIWX().

◆ HasStoreFusion

bool llvm::PPCSubtarget::HasStoreFusion
protected

Definition at line 147 of file PPCSubtarget.h.

Referenced by hasStoreFusion().

◆ HasVSX

bool llvm::PPCSubtarget::HasVSX
protected

Definition at line 104 of file PPCSubtarget.h.

Referenced by hasVSX().

◆ InstrInfo

PPCInstrInfo llvm::PPCSubtarget::InstrInfo
protected

Definition at line 167 of file PPCSubtarget.h.

Referenced by getInstrInfo().

◆ InstrItins

InstrItineraryData llvm::PPCSubtarget::InstrItins
protected

Selected instruction itineraries (one entry per itinerary class.)

Definition at line 88 of file PPCSubtarget.h.

Referenced by getInstrItineraryData().

◆ InstSelector

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

Definition at line 175 of file PPCSubtarget.h.

Referenced by getInstructionSelector(), and PPCSubtarget().

◆ IsAIX

bool llvm::PPCSubtarget::IsAIX
protected

Definition at line 161 of file PPCSubtarget.h.

◆ IsBookE

bool llvm::PPCSubtarget::IsBookE
protected

Definition at line 130 of file PPCSubtarget.h.

Referenced by isBookE().

◆ IsE500

bool llvm::PPCSubtarget::IsE500
protected

Definition at line 132 of file PPCSubtarget.h.

Referenced by isE500().

◆ IsISA2_07

bool llvm::PPCSubtarget::IsISA2_07
protected

Definition at line 150 of file PPCSubtarget.h.

Referenced by isISA2_07().

◆ IsISA3_0

bool llvm::PPCSubtarget::IsISA3_0
protected

Definition at line 151 of file PPCSubtarget.h.

Referenced by isISA3_0().

◆ IsISA3_1

bool llvm::PPCSubtarget::IsISA3_1
protected

Definition at line 152 of file PPCSubtarget.h.

Referenced by isISA3_1().

◆ IsLittleEndian

bool llvm::PPCSubtarget::IsLittleEndian
protected

Definition at line 138 of file PPCSubtarget.h.

Referenced by isLittleEndian(), and isXRaySupported().

◆ IsPPC4xx

bool llvm::PPCSubtarget::IsPPC4xx
protected

Definition at line 133 of file PPCSubtarget.h.

Referenced by isPPC4xx().

◆ IsPPC64

bool llvm::PPCSubtarget::IsPPC64
protected

◆ IsPPC6xx

bool llvm::PPCSubtarget::IsPPC6xx
protected

Definition at line 134 of file PPCSubtarget.h.

Referenced by isPPC6xx().

◆ Legalizer

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

Definition at line 173 of file PPCSubtarget.h.

◆ NeedsTwoConstNR

bool llvm::PPCSubtarget::NeedsTwoConstNR
protected

Definition at line 105 of file PPCSubtarget.h.

Referenced by needsTwoConstNR().

◆ PairedVectorMemops

bool llvm::PPCSubtarget::PairedVectorMemops
protected

Definition at line 158 of file PPCSubtarget.h.

Referenced by pairedVectorMemops().

◆ PredictableSelectIsExpensive

bool llvm::PPCSubtarget::PredictableSelectIsExpensive
protected

Definition at line 159 of file PPCSubtarget.h.

Referenced by isPredictableSelectIsExpensive().

◆ RegBankInfo

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

Definition at line 174 of file PPCSubtarget.h.

Referenced by getRegBankInfo(), and PPCSubtarget().

◆ SecurePlt

bool llvm::PPCSubtarget::SecurePlt
protected

Definition at line 154 of file PPCSubtarget.h.

Referenced by isSecurePlt().

◆ 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 85 of file PPCSubtarget.h.

Referenced by getStackAlignment().

◆ TargetTriple

Triple llvm::PPCSubtarget::TargetTriple
protected

TargetTriple - What processor and OS we're targeting.

Definition at line 81 of file PPCSubtarget.h.

Referenced by getTargetTriple(), isAIXABI(), isTargetELF(), isTargetLinux(), and isTargetMachO().

◆ TLInfo

PPCTargetLowering llvm::PPCSubtarget::TLInfo
protected

Definition at line 168 of file PPCSubtarget.h.

Referenced by getTargetLowering().

◆ TM

const PPCTargetMachine& llvm::PPCSubtarget::TM
protected

◆ TSInfo

SelectionDAGTargetInfo llvm::PPCSubtarget::TSInfo
protected

Definition at line 169 of file PPCSubtarget.h.

Referenced by getSelectionDAGInfo().

◆ Use64BitRegs

bool llvm::PPCSubtarget::Use64BitRegs
protected

Definition at line 96 of file PPCSubtarget.h.

Referenced by use64BitRegs().

◆ UseCRBits

bool llvm::PPCSubtarget::UseCRBits
protected

Definition at line 97 of file PPCSubtarget.h.

Referenced by useCRBits().

◆ UseLongCalls

bool llvm::PPCSubtarget::UseLongCalls
protected

Definition at line 153 of file PPCSubtarget.h.

Referenced by useLongCalls().

◆ UsePPCPostRASchedStrategy

bool llvm::PPCSubtarget::UsePPCPostRASchedStrategy
protected

Definition at line 157 of file PPCSubtarget.h.

Referenced by usePPCPostRASchedStrategy().

◆ UsePPCPreRASchedStrategy

bool llvm::PPCSubtarget::UsePPCPreRASchedStrategy
protected

Definition at line 156 of file PPCSubtarget.h.

Referenced by usePPCPreRASchedStrategy().

◆ VectorsUseTwoUnits

bool llvm::PPCSubtarget::VectorsUseTwoUnits
protected

Definition at line 155 of file PPCSubtarget.h.

Referenced by vectorsUseTwoUnits().


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