LLVM: include/llvm/CodeGen/ScheduleHazardRecognizer.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_CODEGEN_SCHEDULEHAZARDRECOGNIZER_H
15#define LLVM_CODEGEN_SCHEDULEHAZARDRECOGNIZER_H
16
17namespace llvm {
18
21
22
23
24
26protected:
27
28
29
30
32
33public:
36
42
44
46
47
48
49
50
52
53
54
55
56
57
58
59
63
64
65
66
68
69
70
72
73
74
76
77
78
79
80
81
85
86
87
91
92
93
94
98
99
100
101
102
103
105
106
107
108
110
111
112
117
118
119
121
122 for (unsigned i = 0; i < Quantity; ++i)
124 }
125};
126
127}
128
129#endif
Representation of each machine instruction.
Scheduling unit. This is a node in the scheduling DAG.
unsigned getMaxLookAhead() const
Definition ScheduleHazardRecognizer.h:43
virtual void RecedeCycle()
RecedeCycle - This callback is invoked whenever the next bottom-up instruction to be scheduled cannot...
Definition ScheduleHazardRecognizer.h:109
virtual void Reset()
Reset - This callback is invoked when a new block of instructions is about to be schedule.
Definition ScheduleHazardRecognizer.h:67
virtual void EmitInstruction(MachineInstr *)
This overload will be used when the hazard recognizer is being used by a non-scheduling pass,...
Definition ScheduleHazardRecognizer.h:75
virtual void EmitInstruction(SUnit *)
EmitInstruction - This callback is invoked when an instruction is emitted, to advance the hazard stat...
Definition ScheduleHazardRecognizer.h:71
unsigned MaxLookAhead
MaxLookAhead - Indicate the number of cycles in the scoreboard state.
Definition ScheduleHazardRecognizer.h:31
virtual unsigned PreEmitNoops(MachineInstr *)
This overload will be used when the hazard recognizer is being used by a non-scheduling pass,...
Definition ScheduleHazardRecognizer.h:88
virtual ~ScheduleHazardRecognizer()
virtual bool atIssueLimit() const
atIssueLimit - Return true if no more instructions may be issued in this cycle.
Definition ScheduleHazardRecognizer.h:51
virtual bool ShouldPreferAnother(SUnit *)
ShouldPreferAnother - This callback may be invoked if getHazardType returns NoHazard.
Definition ScheduleHazardRecognizer.h:95
HazardType
Definition ScheduleHazardRecognizer.h:37
@ NoHazard
Definition ScheduleHazardRecognizer.h:38
@ NoopHazard
Definition ScheduleHazardRecognizer.h:40
@ Hazard
Definition ScheduleHazardRecognizer.h:39
virtual void EmitNoop()
EmitNoop - This callback is invoked when a noop was added to the instruction stream.
Definition ScheduleHazardRecognizer.h:113
ScheduleHazardRecognizer()=default
virtual void AdvanceCycle()
AdvanceCycle - This callback is invoked whenever the next top-down instruction to be scheduled cannot...
Definition ScheduleHazardRecognizer.h:104
virtual HazardType getHazardType(SUnit *, int Stalls=0)
getHazardType - Return the hazard type of emitting this node.
Definition ScheduleHazardRecognizer.h:60
virtual unsigned PreEmitNoops(SUnit *)
PreEmitNoops - This callback is invoked prior to emitting an instruction.
Definition ScheduleHazardRecognizer.h:82
virtual void EmitNoops(unsigned Quantity)
EmitNoops - This callback is invoked when noops were added to the instruction stream.
Definition ScheduleHazardRecognizer.h:120
bool isEnabled() const
Definition ScheduleHazardRecognizer.h:45
This is an optimization pass for GlobalISel generic memory operations.