|
LLVM
4.0.0
|
#include <PPCSubtarget.h>
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 FS) |
| ParseSubtargetFeatures - Parses features string setting specified subtarget options. More... | |
| unsigned | 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 | getDarwinDirective () const |
| getDarwinDirective - Returns the -m directive specified for the cpu. More... | |
| const InstrItineraryData * | getInstrItineraryData () const override |
| getInstrItins - Return the instruction itineraries based on subtarget selection. More... | |
| 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 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 | hasLazyResolverStub (const GlobalValue *GV) const |
| hasLazyResolverStub - Return true if accesses to the specified global have to go through a dyld lazy resolution stub. 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 | hasQPX () const |
| bool | hasVSX () const |
| bool | hasP8Vector () const |
| bool | hasP8Altivec () const |
| bool | hasP8Crypto () const |
| bool | hasP9Vector () const |
| bool | hasP9Altivec () 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 | isE500 () const |
| bool | isFeatureMFTB () const |
| bool | isDeprecatedDST () const |
| bool | hasICBT () const |
| bool | hasInvariantFunctionDescriptors () const |
| bool | hasPartwordAtomics () const |
| bool | hasDirectMove () const |
| bool | isQPXStackUnaligned () const |
| unsigned | getPlatformStackAlignment () const |
| bool | hasHTM () const |
| bool | hasFusion () const |
| bool | hasFloat128 () const |
| bool | isISA3_0 () const |
| bool | useLongCalls () const |
| bool | needsSwapsForVSXMemOps () const |
| POPCNTDKind | hasPOPCNTD () const |
| const Triple & | getTargetTriple () const |
| bool | isDarwin () const |
| isDarwin - True if this is any darwin platform. More... | |
| bool | isBGQ () const |
| isBGQ - True if this is a BG/Q platform. More... | |
| bool | isTargetELF () const |
| bool | isTargetMachO () const |
| bool | isTargetLinux () const |
| bool | isDarwinABI () const |
| bool | isSVR4ABI () const |
| bool | isELFv2ABI () const |
| bool | enableEarlyIfConversion () const override |
| bool | enableMachineScheduler () const override |
| bool | enablePostRAScheduler () const override |
| 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 |
| unsigned char | classifyGlobalReference (const GlobalValue *GV) const |
| classifyGlobalReference - Classify a global variable reference for the current subtarget accourding to how we should reference it. More... | |
Definition at line 67 of file PPCSubtarget.h.
| Enumerator | |
|---|---|
| POPCNTD_Unavailable | |
| POPCNTD_Slow | |
| POPCNTD_Fast | |
Definition at line 69 of file PPCSubtarget.h.
| 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 50 of file PPCSubtarget.cpp.
| unsigned char PPCSubtarget::classifyGlobalReference | ( | const GlobalValue * | GV | ) | const |
classifyGlobalReference - Classify a global variable reference for the current subtarget accourding to how we should reference it.
Definition at line 223 of file PPCSubtarget.cpp.
References llvm::TargetMachine::getCodeModel(), llvm::TargetMachine::getRelocationModel(), llvm::GlobalValue::hasDefaultVisibility(), llvm::GlobalValue::hasLocalLinkage(), llvm::GlobalValue::isStrongDefinitionForLinker(), llvm::CodeModel::Large, llvm::PPCII::MO_NLP_FLAG, llvm::PPCII::MO_PIC_FLAG, llvm::Reloc::PIC_, and TM.
|
inlineoverride |
Definition at line 301 of file PPCSubtarget.h.
References hasISEL().
|
override |
Definition at line 182 of file PPCSubtarget.cpp.
References DarwinDirective, and needsAggressiveScheduling().
Referenced by llvm::PPCTargetLowering::getSchedulingPreference(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
override |
Definition at line 190 of file PPCSubtarget.cpp.
|
override |
Definition at line 219 of file PPCSubtarget.cpp.
References UseSubRegLiveness.
|
override |
Definition at line 192 of file PPCSubtarget.cpp.
References llvm::TargetSubtargetInfo::ANTIDEP_ALL.
|
override |
Definition at line 196 of file PPCSubtarget.cpp.
References isPPC64().
|
inline |
getDarwinDirective - Returns the -m directive specified for the cpu.
Definition at line 168 of file PPCSubtarget.h.
References DarwinDirective.
Referenced by llvm::PPCTTIImpl::enableAggressiveInterleaving(), llvm::PPCTTIImpl::getMaxInterleaveFactor(), llvm::PPCInstrInfo::getOperandLatency(), llvm::PPCTargetLowering::getPrefLoopAlignment(), llvm::PPCTTIImpl::getUnrollingPreferences(), llvm::PPCInstrInfo::insertNoop(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inlineoverride |
Definition at line 176 of file PPCSubtarget.h.
References FrameLowering.
Referenced by EmitTailCallStoreFPAndRetAddr(), and needStackSlotPassParameters().
|
inlineoverride |
Definition at line 179 of file PPCSubtarget.h.
References InstrInfo.
Referenced by llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::PPCFrameLowering::emitPrologue(), llvm::PPCTargetLowering::getPrefLoopAlignment(), getRegisterInfo(), llvm::PPCTargetLowering::insertCopiesSplitCSR(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerDynamicAreaOffset(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::resolveFrameIndex(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), and llvm::PPCFrameLowering::spillCalleeSavedRegisters().
|
inlineoverride |
getInstrItins - Return the instruction itineraries based on subtarget selection.
Definition at line 172 of file PPCSubtarget.h.
References InstrItins.
|
inline |
Definition at line 269 of file PPCSubtarget.h.
References hasQPX(), isBGQ(), and isQPXStackUnaligned().
|
inlineoverride |
Definition at line 186 of file PPCSubtarget.h.
References getInstrInfo(), and llvm::PPCInstrInfo::getRegisterInfo().
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitPrologue(), llvm::PPCTargetLowering::insertCopiesSplitCSR(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), and llvm::PPCFrameLowering::replaceFPWithRealFP().
|
inlineoverride |
Definition at line 183 of file PPCSubtarget.h.
References TSInfo.
|
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 164 of file PPCSubtarget.h.
References StackAlignment.
|
inlineoverride |
Definition at line 180 of file PPCSubtarget.h.
References TLInfo.
|
inline |
Definition at line 189 of file PPCSubtarget.h.
References TM.
Referenced by computeBasePointerSaveOffset(), and llvm::PPCInstrInfo::getMachineCombinerPatterns().
Definition at line 286 of file PPCSubtarget.h.
References TargetTriple.
|
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 206 of file PPCSubtarget.h.
References Has64BitSupport.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 239 of file PPCSubtarget.h.
References HasAltivec.
Referenced by llvm::PPCTargetLowering::getByValTypeAlignment(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::PPCRegisterInfo::getCallPreservedMask(), llvm::PPCTTIImpl::getMemoryOpCost(), llvm::PPCTTIImpl::getNumberOfRegisters(), llvm::PPCTargetLowering::getOptimalMemOpType(), llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::PPCTTIImpl::getRegisterBitWidth(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::PPCTargetLowering::PerformDAGCombine(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 250 of file PPCSubtarget.h.
References HasBPERMD.
|
inline |
Definition at line 252 of file PPCSubtarget.h.
References HasCMPB.
|
inline |
Definition at line 266 of file PPCSubtarget.h.
References HasDirectMove.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering(), and llvm::PPCTargetLowering::shouldExpandBuildVectorWithShuffles().
|
inline |
Definition at line 251 of file PPCSubtarget.h.
References HasExtDiv.
|
inline |
Definition at line 228 of file PPCSubtarget.h.
References HasFCPSGN.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 277 of file PPCSubtarget.h.
References HasFloat128.
|
inline |
Definition at line 238 of file PPCSubtarget.h.
References HasFPCVT.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 237 of file PPCSubtarget.h.
References HasFPRND.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 230 of file PPCSubtarget.h.
References HasFRE.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 231 of file PPCSubtarget.h.
References HasFRES.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 232 of file PPCSubtarget.h.
References HasFRSQRTE.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 233 of file PPCSubtarget.h.
References HasFRSQRTES.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 229 of file PPCSubtarget.h.
References HasFSQRT.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 276 of file PPCSubtarget.h.
References HasFusion.
|
inline |
Definition at line 275 of file PPCSubtarget.h.
References HasHTM.
|
inline |
Definition at line 261 of file PPCSubtarget.h.
References HasICBT.
|
inline |
Definition at line 262 of file PPCSubtarget.h.
References HasInvariantFunctionDescriptors.
Referenced by PrepareCall().
|
inline |
Definition at line 249 of file PPCSubtarget.h.
References HasISEL.
Referenced by llvm::PPCInstrInfo::canInsertSelect(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), enableEarlyIfConversion(), and llvm::PPCInstrInfo::insertSelect().
| bool PPCSubtarget::hasLazyResolverStub | ( | const GlobalValue * | GV | ) | const |
hasLazyResolverStub - Return true if accesses to the specified global have to go through a dyld lazy resolution stub.
Return true if accesses to the specified global have to go through a dyld lazy resolution stub.
This means that an extra load is required to get the address of the global.
Definition at line 153 of file PPCSubtarget.cpp.
References llvm::GlobalValue::getParent(), llvm::GlobalValue::hasCommonLinkage(), HasLazyResolverStubs, llvm::GlobalValue::isDeclarationForLinker(), llvm::TargetMachine::shouldAssumeDSOLocal(), and TM.
Referenced by getLabelAccessInfo().
|
inline |
Definition at line 253 of file PPCSubtarget.h.
References HasLDBRX.
Referenced by llvm::PPCTargetLowering::PerformDAGCombine().
|
inline |
Definition at line 236 of file PPCSubtarget.h.
References HasLFIWAX.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 248 of file PPCSubtarget.h.
References HasMFOCRF.
|
inline |
Definition at line 255 of file PPCSubtarget.h.
References HasOnlyMSYNC.
|
inline |
Definition at line 244 of file PPCSubtarget.h.
References HasP8Altivec.
Referenced by getVectorCompareInfo(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 245 of file PPCSubtarget.h.
References HasP8Crypto.
|
inline |
Definition at line 243 of file PPCSubtarget.h.
References HasP8Vector.
Referenced by llvm::PPCRegisterInfo::getLargestLegalSuperClass(), llvm::PPCTTIImpl::getMemoryOpCost(), llvm::PPCTargetLowering::getOptimalMemOpType(), llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::PPC::isVPKUDUMShuffleMask(), llvm::PPCTargetLowering::PerformDAGCombine(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 247 of file PPCSubtarget.h.
References HasP9Altivec.
Referenced by getVectorCompareInfo(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 246 of file PPCSubtarget.h.
References HasP9Vector.
Referenced by llvm::PPCInstrInfo::expandPostRAPseudo(), needsSwapsForVSXMemOps(), llvm::PPCTargetLowering::PerformDAGCombine(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 265 of file PPCSubtarget.h.
References HasPartwordAtomics.
Referenced by llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), and llvm::PPCTargetLowering::EmitPartwordAtomicBinary().
|
inline |
Definition at line 284 of file PPCSubtarget.h.
References HasPOPCNTD.
Referenced by llvm::PPCTTIImpl::getPopcntSupport(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 241 of file PPCSubtarget.h.
References HasQPX.
Referenced by llvm::PPCTargetLowering::getByValTypeAlignment(), llvm::PPCTTIImpl::getMemoryOpCost(), llvm::PPCTTIImpl::getNumberOfRegisters(), llvm::PPCTargetLowering::getOptimalMemOpType(), getPlatformStackAlignment(), llvm::PPCTargetLowering::getPreIndexedAddressParts(), llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::PPCTTIImpl::getRegisterBitWidth(), llvm::PPCTargetLowering::getSetCCResultType(), llvm::PPCTTIImpl::getVectorInstrCost(), needStackSlotPassParameters(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PPCTargetLowering(), and llvm::PPCTargetLowering::shouldExpandBuildVectorWithShuffles().
|
inline |
Definition at line 234 of file PPCSubtarget.h.
References HasRecipPrec.
Referenced by getEstimateRefinementSteps().
|
inline |
Definition at line 240 of file PPCSubtarget.h.
References HasSPE.
|
inline |
Definition at line 235 of file PPCSubtarget.h.
References HasSTFIWX.
Referenced by llvm::PPCTargetLowering::PerformDAGCombine().
|
inline |
Definition at line 242 of file PPCSubtarget.h.
References HasVSX.
Referenced by llvm::PPCTargetLowering::allowsMisalignedMemoryAccesses(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCallPreservedMask(), llvm::PPCRegisterInfo::getLargestLegalSuperClass(), llvm::PPCTTIImpl::getMemoryOpCost(), llvm::PPCTTIImpl::getNumberOfRegisters(), llvm::PPCTargetLowering::getOptimalMemOpType(), llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), getVectorCompareInfo(), llvm::PPCTTIImpl::getVectorInstrCost(), llvm::PPCTargetLowering::isFPImmLegal(), llvm::PPCInstrInfo::loadRegFromStackSlot(), needsSwapsForVSXMemOps(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::PPCTargetLowering::shouldExpandBuildVectorWithShuffles(), and llvm::PPCInstrInfo::updatedRC().
| 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 43 of file PPCSubtarget.cpp.
|
inline |
isBGQ - True if this is a BG/Q platform.
Definition at line 291 of file PPCSubtarget.h.
References llvm::Triple::BGQ, llvm::Triple::getVendor(), and TargetTriple.
Referenced by getPlatformStackAlignment().
|
inline |
Definition at line 254 of file PPCSubtarget.h.
References IsBookE.
|
inline |
isDarwin - True if this is any darwin platform.
Definition at line 289 of file PPCSubtarget.h.
References llvm::Triple::isMacOSX(), and TargetTriple.
Referenced by llvm::PPCTargetLowering::getByValTypeAlignment(), isDarwinABI(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 297 of file PPCSubtarget.h.
References isDarwin(), and isTargetMachO().
Referenced by computeBasePointerSaveOffset(), computeFramePointerSaveOffset(), computeLinkageSize(), computeReturnSaveOffset(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::emitPrologue(), EmitTailCallStoreFPAndRetAddr(), llvm::PPCRegisterInfo::getCalleeSavedRegs(), llvm::PPCRegisterInfo::getCalleeSavedRegsViaCopy(), llvm::PPCFrameLowering::getCalleeSavedSpillSlots(), llvm::PPCRegisterInfo::getCallPreservedMask(), llvm::PPCTargetLowering::getRegisterByName(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::PPCTargetLowering::initializeSplitCSR(), isSVR4ABI(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), and llvm::PPCFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 260 of file PPCSubtarget.h.
References DeprecatedDST.
|
inline |
Definition at line 258 of file PPCSubtarget.h.
References IsE500.
| bool PPCSubtarget::isELFv2ABI | ( | ) | const |
Definition at line 251 of file PPCSubtarget.cpp.
References llvm::PPCTargetMachine::isELFv2ABI(), and TM.
Referenced by computeLinkageSize(), computeTOCSaveOffset(), llvm::PPCFrameLowering::emitPrologue(), and PrepareCall().
|
inline |
Definition at line 259 of file PPCSubtarget.h.
References FeatureMFTB.
|
inline |
Definition at line 278 of file PPCSubtarget.h.
References IsISA3_0.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 225 of file PPCSubtarget.h.
References IsLittleEndian.
Referenced by llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), needsSwapsForVSXMemOps(), and llvm::PPCTargetLowering::PerformDAGCombine().
|
inline |
Definition at line 256 of file PPCSubtarget.h.
References IsPPC4xx.
| bool PPCSubtarget::isPPC64 | ( | ) | const |
isPPC64 - Return true if we are generating code for 64-bit pointer mode.
Definition at line 252 of file PPCSubtarget.cpp.
References llvm::PPCTargetMachine::isPPC64(), and TM.
Referenced by llvm::PPCFrameLowering::addScavengingSpillSlot(), llvm::PPCInstrInfo::analyzeBranch(), llvm::PPCTargetLowering::BuildSDIVPow2(), computeBasePointerSaveOffset(), computeFramePointerSaveOffset(), computeLinkageSize(), computeReturnSaveOffset(), llvm::PPC::createFastISel(), llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::PPCFrameLowering::emitPrologue(), EmitTailCallStoreFPAndRetAddr(), llvm::PPCInstrInfo::expandPostRAPseudo(), llvm::PPCInstrInfo::FoldImmediate(), llvm::PPCTargetLowering::getByValTypeAlignment(), llvm::PPCFrameLowering::getCalleeSavedSpillSlots(), getCriticalPathRCs(), llvm::PPCTargetLowering::getExceptionPointerRegister(), llvm::PPCTargetLowering::getExceptionSelectorRegister(), llvm::PPCTTIImpl::getIntImmCost(), llvm::PPCTargetLowering::getOptimalMemOpType(), llvm::PPCTargetLowering::getPICJumpTableRelocBase(), llvm::PPCTargetLowering::getPICJumpTableRelocBaseExpr(), llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::PPCTTIImpl::getRegisterBitWidth(), llvm::PPCTargetLowering::getRegisterByName(), llvm::PPCTargetLowering::initializeSplitCSR(), llvm::PPCInstrInfo::insertBranch(), llvm::PPCTargetLowering::isJumpTableRelative(), llvm::PPCTargetLowering::isZExtFree(), needStackSlotPassParameters(), llvm::PPCInstrInfo::optimizeCompareInstr(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::PPCInstrInfo::PredicateInstruction(), PrepareCall(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::PPCTargetLowering::SelectAddressRegImm(), llvm::PPCTargetLowering::SelectAddressRegRegOnly(), and llvm::PPCFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 257 of file PPCSubtarget.h.
References IsPPC6xx.
|
inline |
Definition at line 268 of file PPCSubtarget.h.
References IsQPXStackUnaligned.
Referenced by getPlatformStackAlignment().
|
inline |
Definition at line 298 of file PPCSubtarget.h.
References isDarwinABI().
Referenced by llvm::PPC::createFastISel(), llvm::PPCFrameLowering::determineFrameLayout(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::PPCFrameLowering::emitEpilogue(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCFrameLowering::emitPrologue(), llvm::PPCFrameLowering::enableShrinkWrapping(), llvm::PPCRegisterInfo::getBaseRegister(), llvm::PPCFrameLowering::getCalleeSavedSpillSlots(), llvm::PPCRegisterInfo::getReservedRegs(), llvm::PPCRegisterInfo::hasReservedSpillSlot(), needStackSlotPassParameters(), llvm::PPCTargetLowering::PPCTargetLowering(), PrepareCall(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), and llvm::PPCFrameLowering::spillCalleeSavedRegisters().
|
inline |
Definition at line 293 of file PPCSubtarget.h.
References llvm::Triple::isOSBinFormatELF(), and TargetTriple.
Referenced by PrepareCall().
|
inline |
Definition at line 295 of file PPCSubtarget.h.
References llvm::Triple::isOSLinux(), and TargetTriple.
Referenced by llvm::PPCInstrInfo::expandPostRAPseudo(), llvm::PPCTargetLowering::insertSSPDeclarations(), and llvm::PPCTargetLowering::useLoadStackGuardNode().
|
inline |
Definition at line 294 of file PPCSubtarget.h.
References llvm::Triple::isOSBinFormatMachO(), and TargetTriple.
Referenced by isDarwinABI().
|
inline |
Definition at line 280 of file PPCSubtarget.h.
References hasP9Vector(), hasVSX(), and isLittleEndian().
Referenced by llvm::PPCTargetLowering::PerformDAGCombine().
|
override |
Definition at line 202 of file PPCSubtarget.cpp.
References DarwinDirective, needsAggressiveScheduling(), llvm::MachineSchedPolicy::OnlyBottomUp, llvm::MachineSchedPolicy::OnlyTopDown, and llvm::MachineSchedPolicy::ShouldTrackPressure.
ParseSubtargetFeatures - Parses features string setting specified subtarget options.
Definition of function is auto generated by tblgen.
|
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 213 of file PPCSubtarget.h.
References Use64BitRegs.
Referenced by llvm::PPCTargetLowering::PPCTargetLowering().
|
override |
Definition at line 214 of file PPCSubtarget.cpp.
References DarwinDirective, and needsAggressiveScheduling().
|
inline |
useCRBits - Return true if we should store and manipulate i1 values in the individual condition register bits.
Definition at line 217 of file PPCSubtarget.h.
References UseCRBits.
Referenced by llvm::PPCTargetLowering::getRegForInlineAsmConstraint(), llvm::PPCTargetLowering::getSetCCResultType(), and llvm::PPCTargetLowering::PPCTargetLowering().
|
inline |
Definition at line 279 of file PPCSubtarget.h.
References UseLongCalls.
|
inline |
Definition at line 208 of file PPCSubtarget.h.
References HasHardFloat.
Referenced by llvm::PPCTargetLowering::useSoftFloat().
|
protected |
Which cpu directive was used.
Definition at line 87 of file PPCSubtarget.h.
Referenced by enableMachineScheduler(), getDarwinDirective(), overrideSchedPolicy(), and useAA().
|
protected |
Definition at line 124 of file PPCSubtarget.h.
Referenced by isDeprecatedDST().
|
protected |
Definition at line 123 of file PPCSubtarget.h.
Referenced by isFeatureMFTB().
|
protected |
Definition at line 145 of file PPCSubtarget.h.
Referenced by getFrameLowering().
|
protected |
Definition at line 91 of file PPCSubtarget.h.
Referenced by has64BitSupport().
|
protected |
Definition at line 96 of file PPCSubtarget.h.
Referenced by hasAltivec().
|
protected |
Definition at line 114 of file PPCSubtarget.h.
Referenced by hasBPERMD().
|
protected |
Definition at line 116 of file PPCSubtarget.h.
Referenced by hasCMPB().
|
protected |
Definition at line 130 of file PPCSubtarget.h.
Referenced by hasDirectMove().
|
protected |
Definition at line 115 of file PPCSubtarget.h.
Referenced by hasExtDiv().
|
protected |
Definition at line 105 of file PPCSubtarget.h.
Referenced by hasFCPSGN().
|
protected |
Definition at line 133 of file PPCSubtarget.h.
Referenced by hasFloat128().
|
protected |
Definition at line 112 of file PPCSubtarget.h.
Referenced by hasFPCVT().
|
protected |
Definition at line 111 of file PPCSubtarget.h.
Referenced by hasFPRND().
|
protected |
Definition at line 107 of file PPCSubtarget.h.
Referenced by hasFRE().
|
protected |
Definition at line 107 of file PPCSubtarget.h.
Referenced by hasFRES().
|
protected |
Definition at line 107 of file PPCSubtarget.h.
Referenced by hasFRSQRTE().
|
protected |
Definition at line 107 of file PPCSubtarget.h.
Referenced by hasFRSQRTES().
|
protected |
Definition at line 106 of file PPCSubtarget.h.
Referenced by hasFSQRT().
|
protected |
Definition at line 132 of file PPCSubtarget.h.
Referenced by hasFusion().
|
protected |
Definition at line 94 of file PPCSubtarget.h.
Referenced by useSoftFloat().
|
protected |
Definition at line 131 of file PPCSubtarget.h.
Referenced by hasHTM().
|
protected |
Definition at line 127 of file PPCSubtarget.h.
Referenced by hasICBT().
|
protected |
Definition at line 128 of file PPCSubtarget.h.
Referenced by hasInvariantFunctionDescriptors().
|
protected |
Definition at line 113 of file PPCSubtarget.h.
Referenced by hasISEL().
|
protected |
Definition at line 125 of file PPCSubtarget.h.
Referenced by hasLazyResolverStub().
|
protected |
Definition at line 117 of file PPCSubtarget.h.
Referenced by hasLDBRX().
|
protected |
Definition at line 110 of file PPCSubtarget.h.
Referenced by hasLFIWAX().
|
protected |
Used by the ISel to turn in optimizations for POWER4-derived architectures.
Definition at line 90 of file PPCSubtarget.h.
Referenced by hasMFOCRF().
|
protected |
Definition at line 119 of file PPCSubtarget.h.
Referenced by hasOnlyMSYNC().
|
protected |
Definition at line 101 of file PPCSubtarget.h.
Referenced by hasP8Altivec().
|
protected |
Definition at line 102 of file PPCSubtarget.h.
Referenced by hasP8Crypto().
|
protected |
Definition at line 100 of file PPCSubtarget.h.
Referenced by hasP8Vector().
|
protected |
Definition at line 104 of file PPCSubtarget.h.
Referenced by hasP9Altivec().
|
protected |
Definition at line 103 of file PPCSubtarget.h.
Referenced by hasP9Vector().
|
protected |
Definition at line 129 of file PPCSubtarget.h.
Referenced by hasPartwordAtomics().
|
protected |
Definition at line 137 of file PPCSubtarget.h.
Referenced by hasPOPCNTD().
|
protected |
Definition at line 98 of file PPCSubtarget.h.
Referenced by hasQPX().
|
protected |
Definition at line 108 of file PPCSubtarget.h.
Referenced by hasRecipPrec().
|
protected |
Definition at line 97 of file PPCSubtarget.h.
Referenced by hasSPE().
|
protected |
Definition at line 109 of file PPCSubtarget.h.
Referenced by hasSTFIWX().
|
protected |
Definition at line 99 of file PPCSubtarget.h.
Referenced by hasVSX().
|
protected |
Definition at line 146 of file PPCSubtarget.h.
Referenced by getInstrInfo().
|
protected |
Selected instruction itineraries (one entry per itinerary class.)
Definition at line 84 of file PPCSubtarget.h.
Referenced by getInstrItineraryData().
|
protected |
Definition at line 118 of file PPCSubtarget.h.
Referenced by isBookE().
|
protected |
Definition at line 120 of file PPCSubtarget.h.
Referenced by isE500().
|
protected |
Definition at line 134 of file PPCSubtarget.h.
Referenced by isISA3_0().
|
protected |
Definition at line 126 of file PPCSubtarget.h.
Referenced by isLittleEndian().
|
protected |
Definition at line 121 of file PPCSubtarget.h.
Referenced by isPPC4xx().
|
protected |
Definition at line 95 of file PPCSubtarget.h.
|
protected |
Definition at line 122 of file PPCSubtarget.h.
Referenced by isPPC6xx().
|
protected |
When targeting QPX running a stock PPC64 Linux kernel where the stack alignment has not been changed, we need to keep the 16-byte alignment of the stack.
Definition at line 142 of file PPCSubtarget.h.
Referenced by isQPXStackUnaligned().
|
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 81 of file PPCSubtarget.h.
Referenced by getStackAlignment().
|
protected |
TargetTriple - What processor and OS we're targeting.
Definition at line 77 of file PPCSubtarget.h.
Referenced by getTargetTriple(), isBGQ(), isDarwin(), isTargetELF(), isTargetLinux(), and isTargetMachO().
|
protected |
Definition at line 147 of file PPCSubtarget.h.
Referenced by getTargetLowering().
|
protected |
Definition at line 144 of file PPCSubtarget.h.
Referenced by classifyGlobalReference(), getTargetMachine(), hasLazyResolverStub(), isELFv2ABI(), and isPPC64().
|
protected |
Definition at line 148 of file PPCSubtarget.h.
Referenced by getSelectionDAGInfo().
|
protected |
Definition at line 92 of file PPCSubtarget.h.
Referenced by use64BitRegs().
|
protected |
Definition at line 93 of file PPCSubtarget.h.
Referenced by useCRBits().
|
protected |
Definition at line 135 of file PPCSubtarget.h.
Referenced by useLongCalls().
1.8.6