LLVM: include/llvm/MCA/HWEventListener.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_MCA_HWEVENTLISTENER_H

15#define LLVM_MCA_HWEVENTLISTENER_H

16

21

22namespace llvm {

23namespace mca {

24

25

26

27

29public:

30

31

32

33

34

35

36

37

52

55

56

58

59

61};

62

63

64

66

67using ResourceUse = std::pair<ResourceRef, ReleaseAtCycles>;

68

76

78public:

83

84

86

87

88

89

90

91

92

93

94

96};

97

107

108

109

111public:

125

127

128

130

131

133};

134

135

136

138public:

149

153

154

156

157

159

160

162};

163

165public:

166

169

173

175

176

177

182

184

185private:

186 virtual void anchor();

187};

188}

189}

190

191#endif

This file defines abstractions used by the Pipeline to model register reads, register writes and inst...

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Definition HWEventListener.h:164

virtual ~HWEventListener()=default

virtual void onCycleBegin()

Definition HWEventListener.h:167

virtual void onReleasedBuffers(const InstRef &Inst, ArrayRef< unsigned > Buffers)

Definition HWEventListener.h:180

virtual void onReservedBuffers(const InstRef &Inst, ArrayRef< unsigned > Buffers)

Definition HWEventListener.h:178

virtual void onEvent(const HWStallEvent &Event)

Definition HWEventListener.h:171

virtual void onCycleEnd()

Definition HWEventListener.h:168

virtual void onEvent(const HWInstructionEvent &Event)

Definition HWEventListener.h:170

virtual void onEvent(const HWPressureEvent &Event)

Definition HWEventListener.h:172

virtual void onResourceAvailable(const ResourceRef &RRef)

Definition HWEventListener.h:174

unsigned MicroOpcodes

Definition HWEventListener.h:95

ArrayRef< unsigned > UsedPhysRegs

Definition HWEventListener.h:85

HWInstructionDispatchedEvent(const InstRef &IR, ArrayRef< unsigned > Regs, unsigned UOps)

Definition HWEventListener.h:79

Definition HWEventListener.h:28

HWInstructionEvent(unsigned type, const InstRef &Inst)

Definition HWEventListener.h:53

const InstRef & IR

Definition HWEventListener.h:60

const unsigned Type

Definition HWEventListener.h:57

GenericEventType

Definition HWEventListener.h:38

@ LastGenericEventType

Definition HWEventListener.h:50

@ Dispatched

Definition HWEventListener.h:48

@ Executed

Definition HWEventListener.h:46

@ Retired

Definition HWEventListener.h:41

@ Issued

Definition HWEventListener.h:45

@ Invalid

Definition HWEventListener.h:39

@ Pending

Definition HWEventListener.h:43

@ Ready

Definition HWEventListener.h:44

ArrayRef< ResourceUse > UsedResources

Definition HWEventListener.h:74

HWInstructionIssuedEvent(const InstRef &IR, ArrayRef< ResourceUse > UR)

Definition HWEventListener.h:71

HWInstructionRetiredEvent(const InstRef &IR, ArrayRef< unsigned > Regs)

Definition HWEventListener.h:100

ArrayRef< unsigned > FreedPhysRegs

Definition HWEventListener.h:105

Definition HWEventListener.h:137

GenericReason Reason

Definition HWEventListener.h:155

HWPressureEvent(GenericReason reason, ArrayRef< InstRef > Insts, uint64_t Mask=0)

Definition HWEventListener.h:150

ArrayRef< InstRef > AffectedInstructions

Definition HWEventListener.h:158

const uint64_t ResourceMask

Definition HWEventListener.h:161

GenericReason

Definition HWEventListener.h:139

@ REGISTER_DEPS

Definition HWEventListener.h:145

@ INVALID

Definition HWEventListener.h:140

@ MEMORY_DEPS

Definition HWEventListener.h:147

@ RESOURCES

Definition HWEventListener.h:143

Definition HWEventListener.h:110

const unsigned Type

Definition HWEventListener.h:129

HWStallEvent(unsigned type, const InstRef &Inst)

Definition HWEventListener.h:126

const InstRef & IR

Definition HWEventListener.h:132

GenericEventType

Definition HWEventListener.h:112

@ RegisterFileStall

Definition HWEventListener.h:115

@ SchedulerQueueFull

Definition HWEventListener.h:119

@ LoadQueueFull

Definition HWEventListener.h:120

@ CustomBehaviourStall

Definition HWEventListener.h:122

@ LastGenericEvent

Definition HWEventListener.h:123

@ DispatchGroupStall

Definition HWEventListener.h:118

@ RetireControlUnitStall

Definition HWEventListener.h:116

@ Invalid

Definition HWEventListener.h:113

@ StoreQueueFull

Definition HWEventListener.h:121

An InstRef contains both a SourceMgr index and Instruction pair.

Helper functions used by various pipeline components.

std::pair< uint64_t, uint64_t > ResourceRef

Definition HWEventListener.h:65

std::pair< ResourceRef, ReleaseAtCycles > ResourceUse

Definition HWEventListener.h:67

This is an optimization pass for GlobalISel generic memory operations.