14#ifndef LLVM_MCA_STAGES_INORDERISSUESTAGE_H
15#define LLVM_MCA_STAGES_INORDERISSUESTAGE_H
80 unsigned LastWriteBackCycle;
94 void updateIssuedInst();
97 void updateCarriedOver();
101 void notifyStallEvent();
103 void notifyInstructionIssued(
const InstRef &
IR,
105 void notifyInstructionDispatched(
const InstRef &
IR,
unsigned Ops,
107 void notifyInstructionExecuted(
const InstRef &
IR);
108 void notifyInstructionRetired(
const InstRef &
IR,
This file defines the base class CustomBehaviour which can be inherited from by specific targets (ex.
Legalize the Machine IR a function s Machine IR
This file contains abstract class SourceMgr and the default implementation, CircularSourceMgr.
The classes here represent processor resource units and their management strategy.
This file defines a stage.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Lightweight error class with error context and mandatory checking.
Generic base class for all target subtargets.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Class which can be overriden by targets to enforce instruction dependencies and behaviours that aren'...
bool hasWorkToComplete() const override
Returns true if some instructions are still executing this stage.
Error cycleEnd() override
Called once at the end of each cycle.
Error execute(InstRef &IR) override
The primary action that this stage performs on instruction IR.
bool isAvailable(const InstRef &) const override
Returns true if it can execute IR during this cycle.
unsigned getIssueWidth() const
Error cycleStart() override
Called once at the start of each cycle.
An InstRef contains both a SourceMgr index and Instruction pair.
Abstract base interface for LS (load/store) units in llvm-mca.
Manages hardware register files, and tracks register definitions for register renaming purposes.
A resource manager for processor resource units and groups.
This is an optimization pass for GlobalISel generic memory operations.
StallKind getStallKind() const
InstRef & getInstruction()
const InstRef & getInstruction() const
unsigned getCyclesLeft() const
void update(const InstRef &Inst, unsigned Cycles, StallKind SK)