LLVM: include/llvm/CodeGen/CodeGenTargetMachineImpl.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_CODEGEN_CODEGENTARGETMACHINEIMPL_H

14#define LLVM_CODEGEN_CODEGENTARGETMACHINEIMPL_H

16

17namespace llvm {

18

19

20

21

22

24protected:

29

31

32

34

35public:

36

37

38

39

41

42

43

45

46

47

48

49

50 bool

53 bool DisableVerify = true,

55

56

57

58

59

62 bool DisableVerify = true) override;

63

64

65

69

73};

74

75

76

77

78

82 if (CM) {

83

85 report_fatal_error("Target does not support the tiny CodeModel", false);

87 report_fatal_error("Target does not support the kernel CodeModel", false);

88 return *CM;

89 }

91}

92

93}

94

95#endif

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

Expected< std::unique_ptr< MCStreamer > > createMCStreamer(raw_pwrite_stream &Out, raw_pwrite_stream *DwoOut, CodeGenFileType FileType, MCContext &Ctx) override

bool addPassesToEmitFile(PassManagerBase &PM, raw_pwrite_stream &Out, raw_pwrite_stream *DwoOut, CodeGenFileType FileType, bool DisableVerify=true, MachineModuleInfoWrapperPass *MMIWP=nullptr) override

Add passes to the specified pass manager to get the specified file emitted.

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.

TargetTransformInfo getTargetTransformInfo(const Function &F) const override

Get a TargetTransformInfo implementation for the target.

virtual void reset()

Reset internal state.

bool addAsmPrinter(PassManagerBase &PM, raw_pwrite_stream &Out, raw_pwrite_stream *DwoOut, CodeGenFileType FileType, MCContext &Context) override

Adds an AsmPrinter pass to the pipeline that prints assembly or machine code from the MI representati...

virtual TargetPassConfig * createPassConfig(PassManagerBase &PM) override

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

Tagged union holding either a T or a Error.

Context object for machine code objects.

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

Primary interface to the complete machine description for the target machine.

Target-Independent Code Generator Pass Configuration Options.

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

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

This is an optimization pass for GlobalISel generic memory operations.

CodeModel::Model getEffectiveCodeModel(std::optional< CodeModel::Model > CM, CodeModel::Model Default)

Helper method for getting the code model, returning Default if CM does not have a value.

CodeGenFileType

These enums are meant to be passed into addPassesToEmitFile to indicate what type of file to emit,...

void report_fatal_error(Error Err, bool gen_crash_diag=true)

Report a serious error, calling any installed error handler.

CodeGenOptLevel

Code generation optimization level.

@ Default

The result values are uniform if and only if all operands are uniform.