17#ifndef LLVM_MCA_CONTEXT_H
18#define LLVM_MCA_CONTEXT_H
35 unsigned LQS,
unsigned SQS,
bool NoAlias,
36 bool ShouldEnableBottleneckAnalysis =
false)
unsigned const MachineRegisterInfo * MRI
This file defines the base class CustomBehaviour which can be inherited from by specific targets (ex.
This file defines a base class for describing a simulated hardware unit.
This file contains abstract class SourceMgr and the default implementation, CircularSourceMgr.
This file implements an ordered container of stages that simulate the pipeline of a hardware backend.
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Generic base class for all target subtargets.
void push_back(const T &Elt)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
const MCSubtargetInfo & getMCSubtargetInfo() const
std::unique_ptr< Pipeline > createInOrderPipeline(const PipelineOptions &Opts, SourceMgr &SrcMgr, CustomBehaviour &CB)
Construct a basic pipeline for simulating an in-order pipeline.
const MCRegisterInfo & getMCRegisterInfo() const
Context & operator=(const Context &C)=delete
Context(const MCRegisterInfo &R, const MCSubtargetInfo &S)
void addHardwareUnit(std::unique_ptr< HardwareUnit > H)
std::unique_ptr< Pipeline > createDefaultPipeline(const PipelineOptions &Opts, SourceMgr &SrcMgr, CustomBehaviour &CB)
Construct a basic pipeline for simulating an out-of-order pipeline.
Context(const Context &C)=delete
Class which can be overriden by targets to enforce instruction dependencies and behaviours that aren'...
@ C
The default llvm calling convention, compatible with C.
This is an optimization pass for GlobalISel generic memory operations.
This is a convenience struct to hold the parameters necessary for creating the pre-built "default" ou...
PipelineOptions(unsigned UOPQSize, unsigned DecThr, unsigned DW, unsigned RFS, unsigned LQS, unsigned SQS, bool NoAlias, bool ShouldEnableBottleneckAnalysis=false)
unsigned MicroOpQueueSize
unsigned RegisterFileSize
bool EnableBottleneckAnalysis
unsigned DecodersThroughput
Abstracting the input code sequence (a sequence of MCInst) and assigning unique identifiers to every ...