Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_NVPTX_NVPTXTARGETMACHINE_H
14 #define LLVM_LIB_TARGET_NVPTX_NVPTXTARGETMACHINE_H
28 bool UseShortPointers;
29 std::unique_ptr<TargetLoweringObjectFile> TLOF;
58 bool =
true)
override {
74 std::pair<const Value *, unsigned>
79 virtual void anchor();
88 virtual void anchor();
This is an optimization pass for GlobalISel generic memory operations.
bool isMachineVerifierClean() const override
Returns true if the target is expected to pass all machine verifier checks.
~NVPTXTargetMachine() override
Context object for machine code objects.
Target - Wrapper for Target specific information.
Triple - Helper class for working with autoconf configuration names.
NVPTXTargetMachine32(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Optional< Reloc::Model > RM, Optional< CodeModel::Model > CM, CodeGenOpt::Level OL, bool JIT)
TargetTransformInfo getTargetTransformInfo(const Function &F) const override
Get a TargetTransformInfo implementation for the target.
This class provides access to building LLVM's passes.
void registerPassBuilderCallbacks(PassBuilder &PB) override
Allow the target to modify the pass pipeline with New Pass Manager (similar to adjustPassManager for ...
ManagedStringPool * getManagedStrPool() const
TargetPassConfig * createPassConfig(PassManagerBase &PM) override
Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of ...
bool useShortPointers() const
PassManagerBuilder - This class is used to set up a standard optimization sequence for languages like...
PassBuilder PB(Machine, PassOpts->PTO, None, &PIC)
Target-Independent Code Generator Pass Configuration Options.
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)
const NVPTXSubtarget * getSubtargetImpl() const
An abstract base class for streams implementations that also support a pwrite operation.
std::pair< const Value *, unsigned > getPredicatedAddrSpace(const Value *V) const override
If the specified predicate checks whether a generic pointer falls within a specified address space,...
bool addPassesToEmitMC(PassManagerBase &, MCContext *&, raw_pwrite_stream &, bool=true) override
Add passes to the specified pass manager to get machine code emitted with the MCJIT.
StringRef - Represent a constant reference to a string, i.e.
ManagedStringPool - The strings allocated from a managed string pool are owned by the string pool and...
NVPTXTargetMachine64(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Optional< Reloc::Model > RM, Optional< CodeModel::Model > CM, CodeGenOpt::Level OL, bool JIT)
const NVPTXSubtarget * getSubtargetImpl(const Function &) const override
Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInf...
This class describes a target machine that is implemented with the LLVM target-independent code gener...
PassManagerBase - An abstract interface to allow code to add passes to a pass manager without having ...
NVPTX::DrvInterface getDrvInterface() const
void adjustPassManager(PassManagerBuilder &) override
Allow the target to modify the pass manager, e.g.
LLVM Value Representation.
TargetLoweringObjectFile * getObjFileLowering() const override