12 #ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H 13 #define LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H 26 unsigned PacketNum = 0;
29 SUnit *UsesDotCur =
nullptr;
34 bool UsesLoad =
false;
40 SUnit *PrefVectorStoreNew =
nullptr;
48 : Resources(ST.createDFAPacketizer(II)), TII(HII) { }
57 void Reset()
override;
85 #endif // LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H
bool ShouldPreferAnother(SUnit *) override
This callback may be invoked if getHazardType returns NoHazard.
This class represents lattice values for constants.
void EmitInstruction(SUnit *) override
This callback is invoked when an instruction is emitted to be scheduled, to advance the hazard state...
void AdvanceCycle() override
This callback is invoked whenever the next top-down instruction to be scheduled cannot issue in the c...
HazardType getHazardType(SUnit *SU, int stalls) override
Return the hazard type of emitting this node.
void Reset() override
This callback is invoked when a new block of instructions is about to be scheduled.
Itinerary data supplied by a subtarget to be used by a target.
HazardRecognizer - This determines whether or not an instruction can be issued this cycle...
~HexagonHazardRecognizer() override
HexagonHazardRecognizer(const InstrItineraryData *II, const HexagonInstrInfo *HII, const HexagonSubtarget &ST)
Scheduling unit. This is a node in the scheduling DAG.