LLVM: include/llvm/MCA/Context.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#ifndef LLVM_MCA_CONTEXT_H
18#define LLVM_MCA_CONTEXT_H
19
27#include
28
29namespace llvm {
30namespace mca {
31
32
33
35 PipelineOptions(unsigned UOPQSize, unsigned DecThr, unsigned DW, unsigned RFS,
36 unsigned LQS, unsigned SQS, bool NoAlias,
37 bool ShouldEnableBottleneckAnalysis = false)
50};
51
56
57public:
61
64
66 Hardware.push_back(std::move(H));
67 }
68
69
70
71 LLVM_ABI std::unique_ptr
74
75
76
77 LLVM_ABI std::unique_ptr
80};
81
82}
83}
84#endif
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.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
const MCSubtargetInfo & getMCSubtargetInfo() const
Definition Context.h:63
LLVM_ABI 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
Definition Context.h:62
Context & operator=(const Context &C)=delete
Context(const MCRegisterInfo &R, const MCSubtargetInfo &S)
Definition Context.h:58
void addHardwareUnit(std::unique_ptr< HardwareUnit > H)
Definition Context.h:65
LLVM_ABI 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...
Definition Context.h:34
unsigned StoreQueueSize
Definition Context.h:47
unsigned LoadQueueSize
Definition Context.h:46
PipelineOptions(unsigned UOPQSize, unsigned DecThr, unsigned DW, unsigned RFS, unsigned LQS, unsigned SQS, bool NoAlias, bool ShouldEnableBottleneckAnalysis=false)
Definition Context.h:35
unsigned MicroOpQueueSize
Definition Context.h:42
unsigned RegisterFileSize
Definition Context.h:45
bool EnableBottleneckAnalysis
Definition Context.h:49
unsigned DispatchWidth
Definition Context.h:44
bool AssumeNoAlias
Definition Context.h:48
unsigned DecodersThroughput
Definition Context.h:43
Abstracting the input code sequence (a sequence of MCInst) and assigning unique identifiers to every ...