LLVM 22.0.0git
llvm::mca::InstructionBase Class Reference

Base class for instructions consumed by the simulation pipeline. More...

#include "llvm/MCA/Instruction.h"

Inheritance diagram for llvm::mca::InstructionBase:
[legend]

Public Member Functions

 InstructionBase (const InstrDesc &D, const unsigned Opcode)
SmallVectorImpl< WriteState > & getDefs ()
ArrayRef< WriteStategetDefs () const
SmallVectorImpl< ReadState > & getUses ()
ArrayRef< ReadStategetUses () const
const InstrDescgetDesc () const
unsigned getLatency () const
unsigned getNumMicroOps () const
unsigned getOpcode () const
bool isALoadBarrier () const
bool isAStoreBarrier () const
void setLoadBarrier (bool IsBarrier)
void setStoreBarrier (bool IsBarrier)
const MCAOperandgetOperand (const unsigned Idx) const
 Return the MCAOperand which corresponds to index Idx within the original MCInst.
unsigned getNumOperands () const
void addOperand (const MCAOperand Op)
bool hasDependentUsers () const
unsigned getNumUsers () const
bool isOptimizableMove () const
void setOptimizableMove ()
void clearOptimizableMove ()
bool isMemOp () const
void setMayLoad (bool newVal)
void setMayStore (bool newVal)
void setHasSideEffects (bool newVal)
void setBeginGroup (bool newVal)
void setEndGroup (bool newVal)
void setRetireOOO (bool newVal)
bool getMayLoad () const
bool getMayStore () const
bool getHasSideEffects () const
bool getBeginGroup () const
bool getEndGroup () const
bool getRetireOOO () const

Detailed Description

Base class for instructions consumed by the simulation pipeline.

This class tracks data dependencies as well as generic properties of the instruction.

Definition at line 499 of file Instruction.h.

Constructor & Destructor Documentation

◆ InstructionBase()

llvm::mca::InstructionBase::InstructionBase ( const InstrDesc & D,
const unsigned Opcode )
inline

Definition at line 534 of file Instruction.h.

References D().

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

Member Function Documentation

◆ addOperand()

void llvm::mca::InstructionBase::addOperand ( const MCAOperand Op)
inline

Definition at line 563 of file Instruction.h.

◆ clearOptimizableMove()

void llvm::mca::InstructionBase::clearOptimizableMove ( )
inline

Definition at line 580 of file Instruction.h.

Referenced by llvm::mca::Instruction::reset().

◆ getBeginGroup()

bool llvm::mca::InstructionBase::getBeginGroup ( ) const
inline

◆ getDefs() [1/2]

◆ getDefs() [2/2]

ArrayRef< WriteState > llvm::mca::InstructionBase::getDefs ( ) const
inline

Definition at line 539 of file Instruction.h.

◆ getDesc()

const InstrDesc & llvm::mca::InstructionBase::getDesc ( ) const
inline

◆ getEndGroup()

bool llvm::mca::InstructionBase::getEndGroup ( ) const
inline

Definition at line 595 of file Instruction.h.

◆ getHasSideEffects()

bool llvm::mca::InstructionBase::getHasSideEffects ( ) const
inline

Definition at line 593 of file Instruction.h.

◆ getLatency()

unsigned llvm::mca::InstructionBase::getLatency ( ) const
inline

Definition at line 544 of file Instruction.h.

Referenced by llvm::mca::Instruction::execute().

◆ getMayLoad()

bool llvm::mca::InstructionBase::getMayLoad ( ) const
inline

◆ getMayStore()

bool llvm::mca::InstructionBase::getMayStore ( ) const
inline

◆ getNumMicroOps()

◆ getNumOperands()

unsigned llvm::mca::InstructionBase::getNumOperands ( ) const
inline

Definition at line 562 of file Instruction.h.

◆ getNumUsers()

unsigned llvm::mca::InstructionBase::getNumUsers ( ) const
inline

Definition at line 570 of file Instruction.h.

◆ getOpcode()

unsigned llvm::mca::InstructionBase::getOpcode ( ) const
inline

Definition at line 546 of file Instruction.h.

Referenced by llvm::mca::AMDGPUCustomBehaviour::checkCustomHazard().

◆ getOperand()

const MCAOperand * llvm::mca::InstructionBase::getOperand ( const unsigned Idx) const
inline

Return the MCAOperand which corresponds to index Idx within the original MCInst.

Definition at line 554 of file Instruction.h.

References llvm::find_if().

◆ getRetireOOO()

bool llvm::mca::InstructionBase::getRetireOOO ( ) const
inline

Definition at line 596 of file Instruction.h.

◆ getUses() [1/2]

◆ getUses() [2/2]

ArrayRef< ReadState > llvm::mca::InstructionBase::getUses ( ) const
inline

Definition at line 541 of file Instruction.h.

◆ hasDependentUsers()

bool llvm::mca::InstructionBase::hasDependentUsers ( ) const
inline

Definition at line 565 of file Instruction.h.

References llvm::any_of().

Referenced by llvm::mca::Scheduler::issueInstruction().

◆ isALoadBarrier()

bool llvm::mca::InstructionBase::isALoadBarrier ( ) const
inline

Definition at line 547 of file Instruction.h.

Referenced by llvm::mca::LSUnit::dispatch().

◆ isAStoreBarrier()

bool llvm::mca::InstructionBase::isAStoreBarrier ( ) const
inline

Definition at line 548 of file Instruction.h.

Referenced by llvm::mca::LSUnit::dispatch().

◆ isMemOp()

◆ isOptimizableMove()

bool llvm::mca::InstructionBase::isOptimizableMove ( ) const
inline

Definition at line 578 of file Instruction.h.

◆ setBeginGroup()

void llvm::mca::InstructionBase::setBeginGroup ( bool newVal)
inline

Definition at line 587 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setEndGroup()

void llvm::mca::InstructionBase::setEndGroup ( bool newVal)
inline

Definition at line 588 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setHasSideEffects()

void llvm::mca::InstructionBase::setHasSideEffects ( bool newVal)
inline

Definition at line 586 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setLoadBarrier()

void llvm::mca::InstructionBase::setLoadBarrier ( bool IsBarrier)
inline

Definition at line 549 of file Instruction.h.

◆ setMayLoad()

void llvm::mca::InstructionBase::setMayLoad ( bool newVal)
inline

Definition at line 584 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setMayStore()

void llvm::mca::InstructionBase::setMayStore ( bool newVal)
inline

Definition at line 585 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setOptimizableMove()

void llvm::mca::InstructionBase::setOptimizableMove ( )
inline

Definition at line 579 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setRetireOOO()

void llvm::mca::InstructionBase::setRetireOOO ( bool newVal)
inline

Definition at line 589 of file Instruction.h.

Referenced by llvm::mca::InstrBuilder::createInstruction().

◆ setStoreBarrier()

void llvm::mca::InstructionBase::setStoreBarrier ( bool IsBarrier)
inline

Definition at line 550 of file Instruction.h.


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