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 ...