|
LLVM
8.0.1
|
#include "Target/AMDGPU/AMDGPUTargetMachine.h"


Public Member Functions | |
| R600TargetMachine (const Target &T, const Triple &TT, StringRef CPU, StringRef FS, TargetOptions Options, Optional< Reloc::Model > RM, Optional< CodeModel::Model > CM, CodeGenOpt::Level OL, bool JIT) | |
| TargetPassConfig * | createPassConfig (PassManagerBase &PM) override |
| Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes. More... | |
| const R600Subtarget * | getSubtargetImpl (const Function &) const override |
| Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable. More... | |
| TargetTransformInfo | getTargetTransformInfo (const Function &F) override |
| Get a TargetTransformInfo implementation for the target. More... | |
| bool | isMachineVerifierClean () const override |
| Returns true if the target is expected to pass all machine verifier checks. More... | |
Public Member Functions inherited from llvm::AMDGPUTargetMachine | |
| AMDGPUTargetMachine (const Target &T, const Triple &TT, StringRef CPU, StringRef FS, TargetOptions Options, Optional< Reloc::Model > RM, Optional< CodeModel::Model > CM, CodeGenOpt::Level OL) | |
| ~AMDGPUTargetMachine () override | |
| const TargetSubtargetInfo * | getSubtargetImpl () const |
| TargetLoweringObjectFile * | getObjFileLowering () const override |
| void | adjustPassManager (PassManagerBuilder &) override |
| Allow the target to modify the pass manager, e.g. More... | |
| uint64_t | getNullPointerValue (unsigned AddrSpace) const |
| Get the integer value of a null pointer in the given address space. More... | |
Public Member Functions inherited from llvm::LLVMTargetMachine | |
| bool | addPassesToEmitFile (PassManagerBase &PM, raw_pwrite_stream &Out, raw_pwrite_stream *DwoOut, CodeGenFileType FileType, bool DisableVerify=true, MachineModuleInfo *MMI=nullptr) override |
| Add passes to the specified pass manager to get the specified file emitted. More... | |
| bool | addPassesToEmitMC (PassManagerBase &PM, MCContext *&Ctx, raw_pwrite_stream &Out, bool DisableVerify=true) override |
| Add passes to the specified pass manager to get machine code emitted with the MCJIT. More... | |
| bool | addAsmPrinter (PassManagerBase &PM, raw_pwrite_stream &Out, raw_pwrite_stream *DwoOut, CodeGenFileType FileTYpe, MCContext &Context) |
| Adds an AsmPrinter pass to the pipeline that prints assembly or machine code from the MI representation. More... | |
| virtual bool | usesPhysRegsForPEI () const |
| True if the target uses physical regs at Prolog/Epilog insertion time. More... | |
| virtual bool | useIPRA () const |
| True if the target wants to use interprocedural register allocation by default. More... | |
Public Member Functions inherited from llvm::TargetMachine | |
| TargetMachine (const TargetMachine &)=delete | |
| void | operator= (const TargetMachine &)=delete |
| virtual | ~TargetMachine () |
| const Target & | getTarget () const |
| const Triple & | getTargetTriple () const |
| StringRef | getTargetCPU () const |
| StringRef | getTargetFeatureString () const |
| template<typename STC > | |
| const STC & | getSubtarget (const Function &F) const |
| This method returns a pointer to the specified type of TargetSubtargetInfo. More... | |
| const DataLayout | createDataLayout () const |
| Create a DataLayout. More... | |
| bool | isCompatibleDataLayout (const DataLayout &Candidate) const |
| Test if a DataLayout if compatible with the CodeGen for this target. More... | |
| unsigned | getPointerSize (unsigned AS) const |
| Get the pointer size for this target. More... | |
| unsigned | getPointerSizeInBits (unsigned AS) const |
| unsigned | getProgramPointerSize () const |
| unsigned | getAllocaPointerSize () const |
| void | resetTargetOptions (const Function &F) const |
| Reset the target options based on the function's attributes. More... | |
| const MCAsmInfo * | getMCAsmInfo () const |
| Return target specific asm information. More... | |
| const MCRegisterInfo * | getMCRegisterInfo () const |
| const MCInstrInfo * | getMCInstrInfo () const |
| const MCSubtargetInfo * | getMCSubtargetInfo () const |
| virtual const TargetIntrinsicInfo * | getIntrinsicInfo () const |
| If intrinsic information is available, return it. If not, return null. More... | |
| bool | requiresStructuredCFG () const |
| void | setRequiresStructuredCFG (bool Value) |
| Reloc::Model | getRelocationModel () const |
| Returns the code generation relocation model. More... | |
| CodeModel::Model | getCodeModel () const |
| Returns the code model. More... | |
| bool | isPositionIndependent () const |
| bool | shouldAssumeDSOLocal (const Module &M, const GlobalValue *GV) const |
| bool | useEmulatedTLS () const |
| Returns true if this target uses emulated TLS. More... | |
| TLSModel::Model | getTLSModel (const GlobalValue *GV) const |
| Returns the TLS model which should be used for the given global variable. More... | |
| CodeGenOpt::Level | getOptLevel () const |
| Returns the optimization level: None, Less, Default, or Aggressive. More... | |
| void | setOptLevel (CodeGenOpt::Level Level) |
| Overrides the optimization level. More... | |
| void | setFastISel (bool Enable) |
| bool | getO0WantsFastISel () |
| void | setO0WantsFastISel (bool Enable) |
| void | setGlobalISel (bool Enable) |
| void | setGlobalISelAbort (GlobalISelAbortMode Mode) |
| void | setMachineOutliner (bool Enable) |
| void | setSupportsDefaultOutlining (bool Enable) |
| bool | shouldPrintMachineCode () const |
| bool | getUniqueSectionNames () const |
| bool | getDataSections () const |
| Return true if data objects should be emitted into their own section, corresponds to -fdata-sections. More... | |
| bool | getFunctionSections () const |
| Return true if functions should be emitted into their own section, corresponding to -ffunction-sections. More... | |
| TargetIRAnalysis | getTargetIRAnalysis () |
Get a TargetIRAnalysis appropriate for the target. More... | |
| virtual bool | targetSchedulesPostRAScheduling () const |
| True if subtarget inserts the final scheduling pass on its own. More... | |
| void | getNameWithPrefix (SmallVectorImpl< char > &Name, const GlobalValue *GV, Mangler &Mang, bool MayAlwaysUsePrivate=false) const |
| MCSymbol * | getSymbol (const GlobalValue *GV) const |
Definition at line 71 of file AMDGPUTargetMachine.h.
| R600TargetMachine::R600TargetMachine | ( | const Target & | T, |
| const Triple & | TT, | ||
| StringRef | CPU, | ||
| StringRef | FS, | ||
| TargetOptions | Options, | ||
| Optional< Reloc::Model > | RM, | ||
| Optional< CodeModel::Model > | CM, | ||
| CodeGenOpt::Level | OL, | ||
| bool | JIT | ||
| ) |
Definition at line 423 of file AMDGPUTargetMachine.cpp.
References llvm::TargetMachine::setRequiresStructuredCFG().
|
overridevirtual |
Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
createPassConfig - Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes.
Targets may override this to extend TargetPassConfig.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 748 of file AMDGPUTargetMachine.cpp.
References llvm::TargetPassConfig::addFastRegAlloc(), llvm::TargetPassConfig::addILPOpts(), llvm::TargetPassConfig::addMachineSSAOptimization(), llvm::TargetPassConfig::addOptimizedRegAlloc(), llvm::TargetPassConfig::addPostRegAlloc(), llvm::AMDGPUUnifyDivergentExitNodesID, llvm::BranchRelaxationPassID, C, llvm::createAMDGPUAnnotateKernelFeaturesPass(), llvm::createAMDGPUAnnotateUniformValues(), llvm::createAMDGPUAtomicOptimizerPass(), llvm::createAMDGPUMachineCFGStructurizerPass(), createGCNMaxOccupancyMachineScheduler(), llvm::createSIAddIMGInitPass(), llvm::createSIAnnotateControlFlowPass(), llvm::createSIDebuggerInsertNopsPass(), llvm::createSIFixupVectorISelPass(), llvm::createSIInsertWaitcntsPass(), llvm::createSILowerI1CopiesPass(), createSIMachineScheduler(), llvm::createSIMemoryLegalizerPass(), llvm::createSIModeRegisterPass(), llvm::createSinkingPass(), llvm::createSIShrinkInstructionsPass(), llvm::createSIWholeQuadModePass(), llvm::createStructurizeCFGPass(), llvm::DeadMachineInstructionElimID, llvm::EarlyIfConverterID, llvm::EarlyMachineLICMID, EnableAtomicOptimizations, EnableDPPCombine, EnableEarlyIfConversion, EnableSDWAPeephole, llvm::GCNSubtarget::enableSIScheduler(), llvm::GCNDPPCombineID, llvm::TargetMachine::getOptLevel(), llvm::MachineFunction::getSubtarget(), LateCFGStructurize, llvm::MachineCSEID, llvm::MachineSchedulerID, llvm::MachineSchedContext::MF, llvm::CodeGenOpt::None, llvm::PHIEliminationID, llvm::PostRAHazardRecognizerID, llvm::SIFixSGPRCopiesID, llvm::SIFixVGPRCopiesID, llvm::SIFixWWMLivenessID, llvm::SIFoldOperandsID, llvm::SIFormMemoryClausesID, llvm::SIInsertSkipsPassID, llvm::SILoadStoreOptimizerID, llvm::SILowerControlFlowID, llvm::SIOptimizeExecMaskingID, llvm::SIOptimizeExecMaskingPreRAID, llvm::SIPeepholeSDWAID, and llvm::ARM_MB::ST.
|
overridevirtual |
Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
Implements llvm::AMDGPUTargetMachine.
Definition at line 433 of file AMDGPUTargetMachine.cpp.
References llvm::SmallString< InternalLen >::append(), llvm::AMDGPUTargetMachine::getFeatureString(), llvm::AMDGPUTargetMachine::getGPUName(), I, llvm::TargetMachine::resetTargetOptions(), and llvm::TargetMachine::TargetTriple.
|
overridevirtual |
Get a TargetTransformInfo implementation for the target.
The TTI returned uses the common code generator to answer queries about the IR.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 454 of file AMDGPUTargetMachine.cpp.
|
inlineoverridevirtual |
Returns true if the target is expected to pass all machine verifier checks.
This is a stopgap measure to fix targets one by one. We will remove this at some point and always enable the verifier when EXPENSIVE_CHECKS is enabled.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 87 of file AMDGPUTargetMachine.h.
1.8.13