LLVM 19.0.0git
Classes | Namespaces | Typedefs | Enumerations
ResourceManager.h File Reference

The classes here represent processor resource units and their management strategy. More...

#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/MC/MCSchedule.h"
#include "llvm/MCA/Instruction.h"
#include "llvm/MCA/Support.h"

Go to the source code of this file.

Classes

class  llvm::mca::ResourceStrategy
 Resource allocation strategy used by hardware scheduler resources. More...
 
class  llvm::mca::DefaultResourceStrategy
 Default resource allocation strategy used by processor resource groups and processor resources with multiple units. More...
 
class  llvm::mca::ResourceState
 A processor resource descriptor. More...
 
class  llvm::mca::ResourceManager
 A resource manager for processor resource units and groups. More...
 

Namespaces

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

Typedefs

using llvm::mca::ResourceRef = std::pair< uint64_t, uint64_t >
 A resource unit identifier.
 
typedef std::pair< unsigned, unsignedllvm::mca::BufferUsageEntry
 

Enumerations

enum  llvm::mca::ResourceStateEvent { llvm::mca::RS_BUFFER_AVAILABLE , llvm::mca::RS_BUFFER_UNAVAILABLE , llvm::mca::RS_RESERVED }
 Used to notify the internal state of a processor resource. More...
 

Detailed Description

The classes here represent processor resource units and their management strategy.

These classes are managed by the Scheduler.

Definition in file ResourceManager.h.