LLVM 20.0.0git
Classes | Namespaces | Functions | Variables
MLRegAllocEvictAdvisor.h File Reference
#include "llvm/Analysis/MLModelRunner.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include <map>

Go to the source code of this file.

Classes

struct  llvm::LRStartEndInfo
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

void llvm::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)
 
void llvm::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)
 

Variables

static const int64_t llvm::MaxInterferences = 32
 
static const int64_t llvm::CandidateVirtRegPos = MaxInterferences
 
static const int64_t llvm::NumberOfInterferences = CandidateVirtRegPos + 1
 
static const int llvm::ModelMaxSupportedInstructionCount = 300
 
static const std::vector< int64_t > llvm::InstructionsShape
 
static const std::vector< int64_t > llvm::InstructionsMappingShape
 
static const int64_t llvm::ModelMaxSupportedMBBCount = 100
 
static const std::vector< int64_t > llvm::MBBFrequencyShape