LLVM: lib/Target/RISCV/RISCVTargetMachine.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_RISCV_RISCVTARGETMACHINE_H

14#define LLVM_LIB_TARGET_RISCV_RISCVTARGETMACHINE_H

15

20#include

21

22namespace llvm {

24 std::unique_ptr TLOF;

26

27public:

30 std::optionalReloc::Model RM,

32 bool JIT);

33

35

36

37

39

41

43 return TLOF.get();

44 }

45

49

51

53

60 SMRange &SourceRange) const override;

62};

63

64std::unique_ptr

66

67}

68

69#endif

unsigned const TargetRegisterInfo * TRI

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

Allocate memory in an ever growing pool, as if by bump-pointer.

implements a set of functionality in the TargetMachine class for targets that make use of the indepen...

Lightweight error class with error context and mandatory checking.

This class provides access to building LLVM's passes.

yaml::MachineFunctionInfo * createDefaultFuncInfoYAML() const override

Allocate and return a default initialized instance of the YAML representation for the MachineFunction...

TargetPassConfig * createPassConfig(PassManagerBase &PM) override

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

void registerPassBuilderCallbacks(PassBuilder &PB) override

Allow the target to modify the pass pipeline.

bool isNoopAddrSpaceCast(unsigned SrcAS, unsigned DstAS) const override

Returns true if a cast between SrcAS and DestAS is a noop.

TargetLoweringObjectFile * getObjFileLowering() const override

TargetTransformInfo getTargetTransformInfo(const Function &F) const override

Get a TargetTransformInfo implementation for the target.

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

Create the target's instance of MachineFunctionInfo.

yaml::MachineFunctionInfo * convertFuncInfoToYAML(const MachineFunction &MF) const override

Allocate and initialize an instance of the YAML representation of the MachineFunctionInfo.

bool parseMachineFunctionInfo(const yaml::MachineFunctionInfo &, PerFunctionMIParsingState &PFS, SMDiagnostic &Error, SMRange &SourceRange) const override

Parse out the target's MachineFunctionInfo from the YAML reprsentation.

const RISCVSubtarget * getSubtargetImpl() const =delete

Instances of this class encapsulate one diagnostic report, allowing printing to a raw_ostream as a ca...

Represents a range in source code.

StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...

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.

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

This is an optimization pass for GlobalISel generic memory operations.

CodeGenOptLevel

Code generation optimization level.

std::unique_ptr< ScheduleDAGMutation > createRISCVVectorMaskDAGMutation(const TargetRegisterInfo *TRI)

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

Targets should override this in a way that mirrors the implementation of llvm::MachineFunctionInfo.