LLVM: lib/Target/NVPTX/NVPTXTargetMachine.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXTARGETMACHINE_H

14#define LLVM_LIB_TARGET_NVPTX_NVPTXTARGETMACHINE_H

15

18#include

19#include

20

21namespace llvm {

22

23

24

26 bool is64bit;

27 std::unique_ptr TLOF;

30

31

34

35public:

38 std::optionalReloc::Model RM,

40 bool is64bit);

43 return &Subtarget;

44 }

46 bool is64Bit() const { return is64bit; }

51

53

54

56 bool = true) override {

57 return true;

58 }

60 return TLOF.get();

61 }

62

66

68

70

72

76

77 std::pair<const Value *, unsigned>

79};

80

82 virtual void anchor();

83

84public:

87 std::optionalReloc::Model RM,

89 bool JIT);

90};

91

93 virtual void anchor();

94

95public:

98 std::optionalReloc::Model RM,

100 bool JIT);

101};

102

103}

104

105#endif

PassBuilder PB(Machine, PassOpts->PTO, std::nullopt, &PIC)

A manager for alias analyses.

CodeGenTargetMachineImpl(const Target &T, StringRef DataLayoutString, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOptLevel OL)

Context object for machine code objects.

NVPTXTargetMachine32(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, std::optional< Reloc::Model > RM, std::optional< CodeModel::Model > CM, CodeGenOptLevel OL, bool JIT)

NVPTXTargetMachine64(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, std::optional< Reloc::Model > RM, std::optional< CodeModel::Model > CM, CodeGenOptLevel OL, bool JIT)

TargetLoweringObjectFile * getObjFileLowering() const override

Definition NVPTXTargetMachine.h:59

TargetTransformInfo getTargetTransformInfo(const Function &F) const override

Get a TargetTransformInfo implementation for the target.

bool is64Bit() const

Definition NVPTXTargetMachine.h:46

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,...

void registerPassBuilderCallbacks(PassBuilder &PB) override

Allow the target to modify the pass pipeline.

void registerEarlyDefaultAliasAnalyses(AAManager &AAM) override

Allow the target to register early alias analyses (AA before BasicAA) with the AAManager for use with...

const NVPTXSubtarget * getSubtargetImpl() const

Definition NVPTXTargetMachine.h:45

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.

Definition NVPTXTargetMachine.h:55

~NVPTXTargetMachine() override

NVPTX::DrvInterface getDrvInterface() const

Definition NVPTXTargetMachine.h:47

NVPTXTargetMachine(const Target &T, const Triple &TT, StringRef CPU, StringRef FS, const TargetOptions &Options, std::optional< Reloc::Model > RM, std::optional< CodeModel::Model > CM, CodeGenOptLevel OP, bool is64bit)

bool isMachineVerifierClean() const override

Returns true if the target is expected to pass all machine verifier checks.

Definition NVPTXTargetMachine.h:73

MachineFunctionInfo * createMachineFunctionInfo(BumpPtrAllocator &Allocator, const Function &F, const TargetSubtargetInfo *STI) const override

Create the target's instance of MachineFunctionInfo.

TargetPassConfig * createPassConfig(PassManagerBase &PM) override

Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of ...

const NVPTXSubtarget * getSubtargetImpl(const Function &) const override

Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInf...

Definition NVPTXTargetMachine.h:42

UniqueStringSaver & getStrPool() const

Definition NVPTXTargetMachine.h:48

This class provides access to building LLVM's passes.

StringRef - Represent a constant reference to a string, i.e.

std::unique_ptr< const MCSubtargetInfo > STI

Target-Independent Code Generator Pass Configuration Options.

TargetSubtargetInfo - Generic base class for all target subtargets.

This pass provides access to the codegen interfaces that are needed for IR-level transformations.

Target - Wrapper for Target specific information.

Triple - Helper class for working with autoconf configuration names.

Saves strings in the provided stable storage and returns a StringRef with a stable character pointer.

LLVM Value Representation.

PassManagerBase - An abstract interface to allow code to add passes to a pass manager without having ...

An abstract base class for streams implementations that also support a pwrite operation.

This is an optimization pass for GlobalISel generic memory operations.

CodeGenOptLevel

Code generation optimization level.

BumpPtrAllocatorImpl<> BumpPtrAllocator

The standard BumpPtrAllocator which just uses the default template parameters.

MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...