LLVM 19.0.0git
Classes | Namespaces | Functions | Variables
Instruction.h File Reference

This file defines abstractions used by the Pipeline to model register reads, register writes and instructions. More...

#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/MC/MCRegister.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>

Go to the source code of this file.

Classes

class  llvm::mca::MCAOperand
 A representation of an mca::Instruction operand for use in mca::CustomBehaviour. More...
 
struct  llvm::mca::WriteDescriptor
 A register write descriptor. More...
 
struct  llvm::mca::ReadDescriptor
 A register read descriptor. More...
 
struct  llvm::mca::CriticalDependency
 A critical data dependency descriptor. More...
 
class  llvm::mca::WriteState
 Tracks uses of a register definition (e.g. More...
 
class  llvm::mca::ReadState
 Tracks register operand latency in cycles. More...
 
class  llvm::mca::CycleSegment
 A sequence of cycles. More...
 
struct  llvm::mca::ResourceUsage
 Helper used by class InstrDesc to describe how hardware resources are used. More...
 
struct  llvm::mca::InstrDesc
 An instruction descriptor. More...
 
class  llvm::mca::InstructionBase
 Base class for instructions consumed by the simulation pipeline. More...
 
class  llvm::mca::Instruction
 An instruction propagated through the simulated instruction pipeline. More...
 
class  llvm::mca::InstRef
 An InstRef contains both a SourceMgr index and Instruction pair. More...
 

Namespaces

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

Functions

raw_ostream & llvm::mca::operator<< (raw_ostream &OS, const InstRef &IR)
 

Variables

constexpr int llvm::mca::UNKNOWN_CYCLES = -512
 

Detailed Description

This file defines abstractions used by the Pipeline to model register reads, register writes and instructions.

Definition in file Instruction.h.