16 #ifndef LLVM_MCA_LSUNIT_H 17 #define LLVM_MCA_LSUNIT_H 145 void assignLQSlot(
unsigned Index);
146 void assignSQSlot(
unsigned Index);
147 bool isReadyNoAlias(
unsigned Index)
const;
159 bool isSQEmpty()
const {
return StoreQueue.
empty(); }
160 bool isLQEmpty()
const {
return LoadQueue.
empty(); }
161 bool isSQFull()
const {
return SQ_Size != 0 && StoreQueue.
size() == SQ_Size; }
162 bool isLQFull()
const {
return LQ_Size != 0 && LoadQueue.
size() == LQ_Size; }
166 bool AssumeNoAlias =
false);
207 #endif // LLVM_MCA_LSUNIT_H
Status isAvailable(const InstRef &IR) const
virtual bool isReady(const InstRef &IR) const
This class represents lattice values for constants.
void onInstructionExecuted(const InstRef &IR)
An InstRef contains both a SourceMgr index and Instruction pair.
LLVM_NODISCARD bool empty() const
A Load/Store Unit implementing a load and store queues.
This file defines a base class for describing a simulated hardware unit.
LSUnit(const MCSchedModel &SM, unsigned LQ=0, unsigned SQ=0, bool AssumeNoAlias=false)
void dispatch(const InstRef &IR)
Machine Instruction Scheduler
Machine model for scheduling, bundling, and heuristics.
Statically lint checks LLVM IR