11#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H
12#define LLVM_LIB_TARGET_HEXAGON_HEXAGONPROFITRECOGNIZER_H
25 unsigned PacketNum = 0;
28 SUnit *UsesDotCur =
nullptr;
33 bool UsesLoad =
false;
39 SUnit *PrefVectorStoreNew =
nullptr;
51 : Resources(ST.createDFAPacketizer(
II)),
TII(HII) { }
60 void Reset()
override;
const HexagonInstrInfo * TII
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)
~HexagonHazardRecognizer() override
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.
HazardRecognizer - This determines whether or not an instruction can be issued this cycle,...
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.