LLVM  8.0.1
Public Member Functions | List of all members
llvm::mca::ResourceStrategy Class Referenceabstract

Resource allocation strategy used by hardware scheduler resources. More...

#include "llvm/MCA/HardwareUnits/ResourceManager.h"

Inheritance diagram for llvm::mca::ResourceStrategy:
Inheritance graph
[legend]

Public Member Functions

 ResourceStrategy ()
 
virtual ~ResourceStrategy ()
 
virtual uint64_t select (uint64_t ReadyMask)=0
 Selects a processor resource unit from a ReadyMask. More...
 
virtual void used (uint64_t ResourceMask)
 Called by the ResourceManager when a processor resource group, or a processor resource with multiple units has become unavailable. More...
 

Detailed Description

Resource allocation strategy used by hardware scheduler resources.

Definition at line 50 of file ResourceManager.h.

Constructor & Destructor Documentation

◆ ResourceStrategy()

llvm::mca::ResourceStrategy::ResourceStrategy ( )
inline

Definition at line 55 of file ResourceManager.h.

References select(), and ~ResourceStrategy().

◆ ~ResourceStrategy()

llvm::mca::ResourceStrategy::~ResourceStrategy ( )
virtualdefault

Referenced by ResourceStrategy().

Member Function Documentation

◆ select()

virtual uint64_t llvm::mca::ResourceStrategy::select ( uint64_t  ReadyMask)
pure virtual

Selects a processor resource unit from a ReadyMask.

Implemented in llvm::mca::DefaultResourceStrategy.

Referenced by llvm::mca::DefaultResourceStrategy::DefaultResourceStrategy(), and ResourceStrategy().

◆ used()

virtual void llvm::mca::ResourceStrategy::used ( uint64_t  ResourceMask)
inlinevirtual

Called by the ResourceManager when a processor resource group, or a processor resource with multiple units has become unavailable.

The default strategy uses this information to bias its selection logic.

Reimplemented in llvm::mca::DefaultResourceStrategy.

Definition at line 65 of file ResourceManager.h.

Referenced by llvm::mca::DefaultResourceStrategy::DefaultResourceStrategy().


The documentation for this class was generated from the following files: