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 501 of file Instruction.h.

Constructor & Destructor Documentation

◆ InstructionBase()

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

Definition at line 536 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 565 of file Instruction.h.

◆ clearOptimizableMove()

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

Definition at line 582 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 541 of file Instruction.h.

◆ getDesc()

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

◆ getEndGroup()

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

Definition at line 597 of file Instruction.h.

◆ getHasSideEffects()

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

Definition at line 595 of file Instruction.h.

◆ getLatency()

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

Definition at line 546 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 564 of file Instruction.h.

◆ getNumUsers()

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

Definition at line 572 of file Instruction.h.

◆ getOpcode()

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

Definition at line 548 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 556 of file Instruction.h.

References llvm::find_if().

◆ getRetireOOO()

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

Definition at line 598 of file Instruction.h.

◆ getUses() [1/2]

◆ getUses() [2/2]

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

Definition at line 543 of file Instruction.h.

◆ hasDependentUsers()

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

Definition at line 567 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 549 of file Instruction.h.

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

◆ isAStoreBarrier()

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

Definition at line 550 of file Instruction.h.

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

◆ isMemOp()

◆ isOptimizableMove()

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

Definition at line 580 of file Instruction.h.

◆ setBeginGroup()

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

Definition at line 589 of file Instruction.h.

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

◆ setEndGroup()

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

Definition at line 590 of file Instruction.h.

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

◆ setHasSideEffects()

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

Definition at line 588 of file Instruction.h.

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

◆ setLoadBarrier()

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

Definition at line 551 of file Instruction.h.

◆ setMayLoad()

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

Definition at line 586 of file Instruction.h.

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

◆ setMayStore()

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

Definition at line 587 of file Instruction.h.

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

◆ setOptimizableMove()

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

Definition at line 581 of file Instruction.h.

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

◆ setRetireOOO()

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

Definition at line 591 of file Instruction.h.

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

◆ setStoreBarrier()

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

Definition at line 552 of file Instruction.h.


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