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