LLVM
8.0.1
|
#include "Target/NVPTX/NVPTXTargetMachine.h"
Additional Inherited Members | |
Public Types inherited from llvm::TargetMachine | |
enum | CodeGenFileType { CGFT_AssemblyFile, CGFT_ObjectFile, CGFT_Null } |
These enums are meant to be passed into addPassesToEmitFile to indicate what type of file to emit, and returned by it to indicate what type of file could actually be made. More... | |
Public Attributes inherited from llvm::TargetMachine | |
const TargetOptions | DefaultOptions |
TargetOptions | Options |
Protected Member Functions inherited from llvm::LLVMTargetMachine | |
LLVMTargetMachine (const Target &T, StringRef DataLayoutString, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL) | |
void | initAsmInfo () |
Protected Member Functions inherited from llvm::TargetMachine | |
TargetMachine (const Target &T, StringRef DataLayoutString, const Triple &TargetTriple, StringRef CPU, StringRef FS, const TargetOptions &Options) | |
Protected Attributes inherited from llvm::TargetMachine | |
const Target & | TheTarget |
The Target that this machine was created for. More... | |
const DataLayout | DL |
DataLayout for the target: keep ABI type size and alignment. More... | |
Triple | TargetTriple |
Triple string, CPU name, and target feature strings the TargetMachine instance is created with. More... | |
std::string | TargetCPU |
std::string | TargetFS |
Reloc::Model | RM = Reloc::Static |
CodeModel::Model | CMModel = CodeModel::Small |
CodeGenOpt::Level | OptLevel = CodeGenOpt::Default |
std::unique_ptr< const MCAsmInfo > | AsmInfo |
Contains target specific asm information. More... | |
std::unique_ptr< const MCRegisterInfo > | MRI |
std::unique_ptr< const MCInstrInfo > | MII |
std::unique_ptr< const MCSubtargetInfo > | STI |
unsigned | RequireStructuredCFG: 1 |
unsigned | O0WantsFastISel: 1 |
Definition at line 27 of file NVPTXTargetMachine.h.
NVPTXTargetMachine::NVPTXTargetMachine | ( | const Target & | T, |
const Triple & | TT, | ||
StringRef | CPU, | ||
StringRef | FS, | ||
const TargetOptions & | Options, | ||
Optional< Reloc::Model > | RM, | ||
Optional< CodeModel::Model > | CM, | ||
CodeGenOpt::Level | OP, | ||
bool | is64bit | ||
) |
Definition at line 107 of file NVPTXTargetMachine.cpp.
References llvm::NVPTX::CUDA, DisableRequireStructuredCFG, llvm::Triple::getOS(), llvm::LLVMTargetMachine::initAsmInfo(), llvm::NVPTX::NVCL, llvm::Triple::NVCL, llvm::TargetMachine::setRequiresStructuredCFG(), and ~NVPTXTargetMachine().
|
overridedefault |
Referenced by NVPTXTargetMachine().
|
inlineoverridevirtual |
Add passes to the specified pass manager to get machine code emitted with the MCJIT.
addPassesToEmitMC - Add passes to the specified pass manager to get machine code emitted with the MCJIT.
This method returns true if machine code is not supported. It fills the MCContext Ctx pointer which can be used to build custom MCStreamer.
Reimplemented from llvm::LLVMTargetMachine.
Definition at line 59 of file NVPTXTargetMachine.h.
|
overridevirtual |
Allow the target to modify the pass manager, e.g.
by calling PassManagerBuilder::addExtension.
Reimplemented from llvm::TargetMachine.
Definition at line 191 of file NVPTXTargetMachine.cpp.
References llvm::legacy::PassManagerBase::add(), llvm::PassManagerBuilder::addExtension(), llvm::createNVVMIntrRangePass(), llvm::createNVVMReflectPass(), and llvm::PassManagerBuilder::EP_EarlyAsPossible.
Referenced by getObjFileLowering().
|
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 187 of file NVPTXTargetMachine.cpp.
Referenced by getManagedStrPool().
|
inline |
Definition at line 51 of file NVPTXTargetMachine.h.
Referenced by llvm::NVPTXAsmPrinter::doInitialization(), and llvm::NVPTXSubtarget::hasImageHandles().
|
inline |
Definition at line 52 of file NVPTXTargetMachine.h.
References createPassConfig().
Referenced by llvm::NVPTXTargetLowering::LowerCall(), and VisitGlobalVariableForEmission().
|
inlineoverridevirtual |
Reimplemented from llvm::TargetMachine.
Definition at line 63 of file NVPTXTargetMachine.h.
References adjustPassManager(), F(), and getTargetTransformInfo().
|
inlineoverridevirtual |
Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo-derived member variable.
Reimplemented from llvm::TargetMachine.
Definition at line 45 of file NVPTXTargetMachine.h.
Referenced by llvm::NVPTXAsmPrinter::doInitialization().
|
inline |
Definition at line 48 of file NVPTXTargetMachine.h.
Referenced by getTargetTransformInfo().
|
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 201 of file NVPTXTargetMachine.cpp.
References llvm::TargetPassConfig::addIRPasses(), llvm::CodeGenOpt::Aggressive, assert(), llvm::createAllocaHoisting(), llvm::createEarlyCSEPass(), llvm::createGenericToNVVMPass(), llvm::createGVNPass(), llvm::createInferAddressSpacesPass(), llvm::createLoadStoreVectorizerPass(), llvm::createLowerAggrCopies(), llvm::createNaryReassociatePass(), llvm::createNVPTXAssignValidGlobalNamesPass(), llvm::createNVPTXImageOptimizerPass(), llvm::createNVPTXISelDag(), llvm::createNVPTXLowerAllocaPass(), llvm::createNVPTXLowerArgsPass(), llvm::createNVPTXPeephole(), llvm::createNVPTXPrologEpilogPass(), llvm::createNVPTXProxyRegErasurePass(), llvm::createNVPTXReplaceImageHandlesPass(), llvm::createNVVMReflectPass(), llvm::createSeparateConstOffsetFromGEPPass(), llvm::createSpeculativeExecutionPass(), llvm::createSROAPass(), llvm::createStraightLineStrengthReducePass(), llvm::DeadMachineInstructionElimID, DisableLoadStoreVectorizer, llvm::EarlyMachineLICMID, llvm::EarlyTailDuplicateID, llvm::FuncletLayoutID, llvm::TargetMachine::getOptLevel(), llvm::NVPTXSubtarget::getSmVersion(), getSubtargetImpl(), llvm::NVPTXSubtarget::hasImageHandles(), llvm::LiveDebugValuesID, llvm::LiveVariablesID, llvm::LocalStackSlotAllocationID, llvm::MachineCopyPropagationID, llvm::MachineCSEID, llvm::MachineLoopInfoID, llvm::MachineSchedulerID, llvm::MachineSinkingID, llvm::CodeGenOpt::None, llvm::OptimizePHIsID, llvm::PatchableFunctionID, llvm::PeepholeOptimizerID, llvm::PHIEliminationID, llvm::PostRAMachineSinkingID, llvm::PostRASchedulerID, llvm::ProcessImplicitDefsID, llvm::PrologEpilogCodeInserterID, llvm::RegisterCoalescerID, llvm::ShrinkWrapID, llvm::ARM_MB::ST, llvm::StackColoringID, llvm::StackMapLivenessID, llvm::StackSlotColoringID, llvm::TailDuplicateID, and llvm::TwoAddressInstructionPassID.
Referenced by getObjFileLowering().
|
inline |
Definition at line 49 of file NVPTXTargetMachine.h.
Referenced by canLowerToLDG(), llvm::NVPTXAsmPrinter::doInitialization(), and pickOpcodeForVT().
|
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 71 of file NVPTXTargetMachine.h.
|
inline |
Definition at line 50 of file NVPTXTargetMachine.h.
Referenced by llvm::NVPTXDAGToDAGISel::runOnMachineFunction().