LLVM: lib/CodeGen/MLRegAllocEvictAdvisor.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_CODEGEN_MLREGALLOCEVICTIONADVISOR_H
15#define LLVM_CODEGEN_MLREGALLOCEVICTIONADVISOR_H
16
21#include
22
23namespace llvm {
24
25
26
27
28
29
35
41 const int InstructionsIndex, const int InstructionsMappingIndex,
42 const int MBBFreqIndex, const int MBBMappingIndex,
44
46 const SlotIndex CurrentIndex, const size_t CurrentInstructionIndex,
47 std::map<MachineBasicBlock *, size_t> &VisitedMBBs,
50 const int MBBFreqIndex, const int MBBMappingIndex);
51
52
53
54
55
57
58
59
60
61
62
63
66
67
68
69
70
71
72
74
75
76
77
78
79
84
85
86
87
88
89
93
94}
95
96#endif
#define LLVM_ABI_FOR_TEST
MLModelRunner interface: abstraction of a mechanism for evaluating a ML model.
SlotIndex - An opaque wrapper around machine indexes.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
An efficient, type-erasing, non-owning reference to a callable.
This is an optimization pass for GlobalISel generic memory operations.
static const int ModelMaxSupportedInstructionCount
Definition MLRegAllocEvictAdvisor.h:73
static const int64_t ModelMaxSupportedMBBCount
Definition MLRegAllocEvictAdvisor.h:90
static const std::vector< int64_t > MBBFrequencyShape
Definition MLRegAllocEvictAdvisor.h:91
static const int64_t MaxInterferences
Definition MLRegAllocEvictAdvisor.h:56
LLVM_ABI_FOR_TEST void extractInstructionFeatures(llvm::SmallVectorImpl< LRStartEndInfo > &LRPosInfo, MLModelRunner *RegallocRunner, function_ref< int(SlotIndex)> GetOpcode, function_ref< float(SlotIndex)> GetMBBFreq, function_ref< MachineBasicBlock *(SlotIndex)> GetMBBReference, const int InstructionsIndex, const int InstructionsMappingIndex, const int MBBFreqIndex, const int MBBMappingIndex, const SlotIndex LastIndex)
static const std::vector< int64_t > InstructionsMappingShape
Definition MLRegAllocEvictAdvisor.h:82
static const std::vector< int64_t > InstructionsShape
Definition MLRegAllocEvictAdvisor.h:80
static const int64_t NumberOfInterferences
Definition MLRegAllocEvictAdvisor.h:65
LLVM_ABI_FOR_TEST void extractMBBFrequency(const SlotIndex CurrentIndex, const size_t CurrentInstructionIndex, std::map< MachineBasicBlock *, size_t > &VisitedMBBs, function_ref< float(SlotIndex)> GetMBBFreq, MachineBasicBlock *CurrentMBBReference, MLModelRunner *RegallocRunner, const int MBBFreqIndex, const int MBBMappingIndex)
static const int64_t CandidateVirtRegPos
Definition MLRegAllocEvictAdvisor.h:64
SlotIndex End
Definition MLRegAllocEvictAdvisor.h:32
SlotIndex Begin
Definition MLRegAllocEvictAdvisor.h:31
size_t Pos
Definition MLRegAllocEvictAdvisor.h:33