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

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_VTUNESHAREDSTRUCTS_H

14#define LLVM_EXECUTIONENGINE_ORC_SHARED_VTUNESHAREDSTRUCTS_H

15

17#include

18#include

19

20namespace llvm {

21namespace orc {

22

23using VTuneLineTable = std::vector<std::pair<unsigned, unsigned>>;

24

25

26

27

28

29

30

41

44

49

51

53

62

64public:

66 return SPSVTuneMethodInfo::AsArgList::size(

67 MI.LineTable, MI.LoadAddr, MI.LoadSize, MI.MethodID, MI.NameSI,

68 MI.ClassFileSI, MI.SourceFileSI, MI.ParentMI);

69 }

70

72 return SPSVTuneMethodInfo::AsArgList::deserialize(

73 IB, MI.LineTable, MI.LoadAddr, MI.LoadSize, MI.MethodID, MI.NameSI,

74 MI.ClassFileSI, MI.SourceFileSI, MI.ParentMI);

75 }

76

78 return SPSVTuneMethodInfo::AsArgList::serialize(

79 OB, MI.LineTable, MI.LoadAddr, MI.LoadSize, MI.MethodID, MI.NameSI,

80 MI.ClassFileSI, MI.SourceFileSI, MI.ParentMI);

81 }

82};

83

84template <>

86public:

88 return SPSVTuneMethodBatch::AsArgList::size(MB.Methods, MB.Strings);

89 }

90

92 return SPSVTuneMethodBatch::AsArgList::deserialize(IB, MB.Methods,

94 }

95

97 return SPSVTuneMethodBatch::AsArgList::serialize(OB, MB.Methods,

99 }

100};

101

102}

103}

104}

105

106#endif

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

Represents an address in the executor process.

SmallVector< std::pair< uint64_t, uint64_t > > VTuneUnloadedMethodIDs

Definition VTuneSharedStructs.h:50

std::vector< VTuneMethodInfo > VTuneMethodTable

Definition VTuneSharedStructs.h:42

std::vector< std::string > VTuneStringTable

Definition VTuneSharedStructs.h:43

std::vector< std::pair< unsigned, unsigned > > VTuneLineTable

Definition VTuneSharedStructs.h:23

This is an optimization pass for GlobalISel generic memory operations.

VTuneMethodTable Methods

Definition VTuneSharedStructs.h:46

VTuneStringTable Strings

Definition VTuneSharedStructs.h:47

uint32_t SourceFileSI

Definition VTuneSharedStructs.h:38

uint32_t ClassFileSI

Definition VTuneSharedStructs.h:37

VTuneLineTable LineTable

Definition VTuneSharedStructs.h:32

uint32_t ParentMI

Definition VTuneSharedStructs.h:39

uint64_t LoadSize

Definition VTuneSharedStructs.h:34

uint64_t MethodID

Definition VTuneSharedStructs.h:35

ExecutorAddr LoadAddr

Definition VTuneSharedStructs.h:33

uint32_t NameSI

Definition VTuneSharedStructs.h:36