14 #ifndef LLVM_LIB_TARGET_POWERPC_PPCSUBTARGET_H
15 #define LLVM_LIB_TARGET_POWERPC_PPCSUBTARGET_H
27 #define GET_SUBTARGETINFO_HEADER
28 #include "PPCGenSubtargetInfo.inc"
180 void initializeEnvironment();
284 unsigned NumRegionInstrs)
const override;
285 bool useAA()
const override;
const_iterator end(StringRef path)
Get end iterator over path.
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.
bool use64BitRegs() const
use64BitRegs - Return true if in 64-bit mode or if we should use 64-bit registers in 32-bit mode when...
bool enableEarlyIfConversion() const override
bool isOSBinFormatMachO() const
Tests whether the environment is MachO.
bool isTargetMachO() const
bool isLittleEndian() const
const PPCTargetMachine & getTargetMachine() const
unsigned getStackAlignment() const
getStackAlignment - Returns the minimum alignment known to hold of the stack frame on entry to the fu...
bool IsQPXStackUnaligned
When targeting QPX running a stock PPC64 Linux kernel where the stack alignment has not been changed...
bool useAA() const override
bool isQPXStackUnaligned() const
bool hasLazyResolverStub(const GlobalValue *GV) const
hasLazyResolverStub - Return true if accesses to the specified global have to go through a dyld lazy ...
unsigned StackAlignment
stackAlignment - The minimum alignment known to hold of the stack frame on entry to the function and ...
const_iterator begin(StringRef path)
Get begin iterator over path.
bool isDarwin() const
isDarwin - True if this is any darwin platform.
bool isMacOSX() const
isMacOSX - Is this a Mac OS X triple.
unsigned getPlatformStackAlignment() const
unsigned DarwinDirective
Which cpu directive was used.
const TargetSelectionDAGInfo * getSelectionDAGInfo() const override
bool isBGQ() const
isBGQ - True if this is a BG/Q platform.
bool hasInvariantFunctionDescriptors() const
Itinerary data supplied by a subtarget to be used by a target.
InstrItineraryData InstrItins
Selected instruction itineraries (one entry per itinerary class.)
TargetSelectionDAGInfo - Targets can subclass this to parameterize the SelectionDAG lowering and inst...
void overrideSchedPolicy(MachineSchedPolicy &Policy, MachineInstr *begin, MachineInstr *end, unsigned NumRegionInstrs) const override
bool enableSubRegLiveness() const override
const Triple & getTargetTriple() const
AntiDepBreakMode getAntiDepBreakMode() const override
PPCSubtarget & initializeSubtargetDependencies(StringRef CPU, StringRef FS)
initializeSubtargetDependencies - Initializes using a CPU and feature string so that we can use initi...
bool HasInvariantFunctionDescriptors
PPCFrameLowering FrameLowering
const PPCFrameLowering * getFrameLowering() const override
const PPCTargetLowering * getTargetLowering() const override
bool has64BitSupport() const
has64BitSupport - Return true if the selected CPU supports 64-bit instructions, regardless of whether...
bool isFeatureMFTB() const
PPCTargetMachine - Common code between 32-bit and 64-bit PowerPC targets.
bool hasOnlyMSYNC() const
const PPCTargetMachine & TM
bool hasPartwordAtomics() const
Triple - Helper class for working with autoconf configuration names.
bool hasRecipPrec() const
const PPCRegisterInfo * getRegisterInfo() const override
bool hasP8Altivec() const
void getCriticalPathRCs(RegClassVector &CriticalPathRCs) const override
bool hasDirectMove() const
const PPCInstrInfo * getInstrInfo() const override
void ParseSubtargetFeatures(StringRef CPU, StringRef FS)
ParseSubtargetFeatures - Parses features string setting specified subtarget options.
Triple TargetTriple
TargetTriple - What processor and OS we're targeting.
bool enableMachineScheduler() const override
const PPCRegisterInfo & getRegisterInfo() const
getRegisterInfo - TargetInstrInfo is a superset of MRegister info.
Define a generic scheduling policy for targets that don't provide their own MachineSchedStrategy.
Representation of each machine instruction.
const InstrItineraryData * getInstrItineraryData() const override
getInstrItins - Return the instruction itineraries based on subtarget selection.
bool isOSBinFormatELF() const
Tests whether the OS uses the ELF binary format.
bool useCRBits() const
useCRBits - Return true if we should store and manipulate i1 values in the individual condition regis...
TargetSelectionDAGInfo TSInfo
bool isDeprecatedDST() const
bool isPPC64() const
isPPC64 - Return true if we are generating code for 64-bit pointer mode.
unsigned getDarwinDirective() const
getDarwinDirective - Returns the -m directive specified for the cpu.
VendorType getVendor() const
getVendor - Get the parsed vendor type of this triple.
StringRef - Represent a constant reference to a string, i.e.
bool HasMFOCRF
Used by the ISel to turn in optimizations for POWER4-derived architectures.
bool HasLazyResolverStubs
bool enablePostRAScheduler() const override