LLVM: include/llvm/ExecutionEngine/Orc/CompileUtils.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H

14#define LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H

15

20#include

21

22namespace llvm {

23

28

29namespace orc {

30

33

34

35

36

38public:

40

41

45

46

48

49

51

52private:

54 manglingOptionsForTargetMachine(const TargetMachine &TM);

55

56 CompileResult tryToLoadFromObjectCache(const Module &M);

57 void notifyObjectCompiled(const Module &M, const MemoryBuffer &ObjBuffer);

58

61};

62

63

64

65

66

68public:

72

73private:

74

75

76 std::shared_ptrllvm::TargetMachine TM;

77};

78

79

80

81

82

84public:

87

89

91

92private:

95};

96

97}

98

99}

100

101#endif

Tagged union holding either a T or a Error.

This interface provides simple read-only access to a block of memory, and provides simple methods for...

A Module instance is used to store all the information related to an LLVM module.

This is the base ObjectCache type which can be provided to an ExecutionEngine for the purpose of avoi...

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

void setObjectCache(ObjectCache *ObjCache)

Definition CompileUtils.h:88

ConcurrentIRCompiler(JITTargetMachineBuilder JTMB, ObjectCache *ObjCache=nullptr)

IRCompiler(IRSymbolMapper::ManglingOptions MO)

A utility class for building TargetMachines for JITs.

std::unique_ptr< MemoryBuffer > CompileResult

Definition CompileUtils.h:39

SimpleCompiler(TargetMachine &TM, ObjectCache *ObjCache=nullptr)

Construct a simple compile functor with the given target.

Definition CompileUtils.h:42

void setObjectCache(ObjectCache *NewCache)

Set an ObjectCache to query before compiling.

Definition CompileUtils.h:47

TMOwningSimpleCompiler(std::unique_ptr< TargetMachine > TM, ObjectCache *ObjCache=nullptr)

Definition CompileUtils.h:69

LLVM_ABI IRSymbolMapper::ManglingOptions irManglingOptionsFromTargetOptions(const TargetOptions &Opts)

This is an optimization pass for GlobalISel generic memory operations.

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

Implement std::hash so that hash_code can be used in STL containers.