14 #ifndef POWERPCSUBTARGET_H
15 #define POWERPCSUBTARGET_H
22 #define GET_SUBTARGETINFO_HEADER
23 #include "PPCGenSubtargetInfo.inc"
105 PPCSubtarget(
const std::string &TT,
const std::string &CPU,
106 const std::string &
FS,
bool is64Bit);
136 return "E-p:64:64-f64:64:64-i64:64:64-v128:128:128-n32:64";
138 return "E-p:64:64-f64:64:64-i64:64:64-f128:128:128-v128:128:128-n32:64";
141 return isPPC64() ?
"E-p:64:64-f64:64:64-i64:64:64-f128:64:128-n32:64"
142 :
"E-p:32:32-f64:64:64-i64:64:64-f128:64:128-n32";
148 void initializeEnvironment();
214 RegClassVector& CriticalPathRCs)
const;
221 unsigned NumRegionInstrs)
const;
OSType getOS() const
getOS - Get the parsed operating system type of this triple.
const_iterator end(StringRef path)
Get end iterator over path.
bool use64BitRegs() const
bool isLittleEndian() const
void overrideSchedPolicy(MachineSchedPolicy &Policy, MachineInstr *begin, MachineInstr *end, unsigned NumRegionInstrs) const
unsigned getStackAlignment() const
bool enableMachineScheduler() const
const_iterator begin(StringRef path)
Get begin iterator over path.
bool isDarwin() const
isDarwin - True if this is any darwin platform.
bool isBGP() const
isBGP - True if this is a BG/P platform.
bool hasLazyResolverStub(const GlobalValue *GV, const TargetMachine &TM) const
bool isJITCodeModel() const
unsigned DarwinDirective
Which cpu directive was used.
bool enablePostRAScheduler(CodeGenOpt::Level OptLevel, TargetSubtargetInfo::AntiDepBreakMode &Mode, RegClassVector &CriticalPathRCs) const
enablePostRAScheduler - True at 'More' optimization.
bool isBGQ() const
isBGQ - True if this is a BG/Q platform.
virtual void resetSubtargetFeatures(const MachineFunction *MF)
Reset the features for the PowerPC target.
const char * getDataLayoutString() const
InstrItineraryData InstrItins
Selected instruction itineraries (one entry per itinerary class.)
const InstrItineraryData & getInstrItineraryData() const
const Triple & getTargetTriple() const
bool has64BitSupport() const
bool hasRecipPrec() const
void ParseSubtargetFeatures(StringRef CPU, StringRef FS)
Triple TargetTriple
TargetTriple - What processor and OS we're targeting.
bool isDeprecatedMFTB() const
bool isDeprecatedDST() const
unsigned getDarwinDirective() const
VendorType getVendor() const
getVendor - Get the parsed vendor type of this triple.
bool HasMFOCRF
Used by the ISel to turn in optimizations for POWER4-derived architectures.
bool HasLazyResolverStubs
PPCSubtarget(const std::string &TT, const std::string &CPU, const std::string &FS, bool is64Bit)