LLVM: lib/Target/Hexagon/HexagonHazardRecognizer.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H
12#define LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H
13
19
20namespace llvm {
21
25 unsigned PacketNum = 0;
26
27
28 SUnit *UsesDotCur = nullptr;
29
30
31 int DotCurPNum = -1;
32
33 bool UsesLoad = false;
34
35
36
37
38
39 SUnit *PrefVectorStoreNew = nullptr;
40
42
43
44
46
47public:
51 : Resources(ST.createDFAPacketizer(II)), TII(HII) { }
52
54
55
56
57 void Reset() override;
58
59
60
61
62
63
65
66
67
69
70
71
72
74
75
76
77
78
79
81};
82
83}
84
85#endif
uint64_t IntrinsicInst * II
This file defines the SmallSet class.
void Reset() override
This callback is invoked when a new block of instructions is about to be scheduled.
HexagonHazardRecognizer(const InstrItineraryData *II, const HexagonInstrInfo *HII, const HexagonSubtarget &ST)
Definition HexagonHazardRecognizer.h:48
~HexagonHazardRecognizer() override
Definition HexagonHazardRecognizer.h:53
void AdvanceCycle() override
This callback is invoked whenever the next top-down instruction to be scheduled cannot issue in the c...
bool ShouldPreferAnother(SUnit *) override
This callback may be invoked if getHazardType returns NoHazard.
HazardType getHazardType(SUnit *SU, int stalls) override
Return the hazard type of emitting this node.
void EmitInstruction(SUnit *) override
This callback is invoked when an instruction is emitted to be scheduled, to advance the hazard state.
Itinerary data supplied by a subtarget to be used by a target.
Representation of each machine instruction.
Scheduling unit. This is a node in the scheduling DAG.
ScheduleHazardRecognizer()=default
SmallSet - This maintains a set of unique values, optimizing for the case when the set is small (less...
This is an optimization pass for GlobalISel generic memory operations.