LLVM  13.0.0git
Public Member Functions | List of all members
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:
Inheritance graph
[legend]

Public Member Functions

 InstructionBase (const InstrDesc &D)
 
SmallVectorImpl< WriteState > & getDefs ()
 
ArrayRef< WriteStategetDefs () const
 
SmallVectorImpl< ReadState > & getUses ()
 
ArrayRef< ReadStategetUses () const
 
const InstrDescgetDesc () const
 
unsigned getLatency () const
 
unsigned getNumMicroOps () const
 
bool hasDependentUsers () const
 
unsigned getNumUsers () const
 
bool isOptimizableMove () const
 
void setOptimizableMove ()
 
bool isMemOp () 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 395 of file Instruction.h.

Constructor & Destructor Documentation

◆ InstructionBase()

llvm::mca::InstructionBase::InstructionBase ( const InstrDesc D)
inline

Definition at line 412 of file Instruction.h.

Member Function Documentation

◆ getDefs() [1/2]

SmallVectorImpl<WriteState>& llvm::mca::InstructionBase::getDefs ( )
inline

◆ getDefs() [2/2]

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

Definition at line 415 of file Instruction.h.

◆ getDesc()

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

◆ getLatency()

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

Definition at line 420 of file Instruction.h.

References llvm::mca::InstrDesc::MaxLatency.

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

◆ getNumMicroOps()

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

◆ getNumUsers()

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

Definition at line 428 of file Instruction.h.

References llvm::tgtok::Def.

◆ getUses() [1/2]

SmallVectorImpl<ReadState>& llvm::mca::InstructionBase::getUses ( )
inline

◆ getUses() [2/2]

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

Definition at line 417 of file Instruction.h.

References Uses.

◆ hasDependentUsers()

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

Definition at line 423 of file Instruction.h.

References llvm::any_of(), and llvm::tgtok::Def.

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

◆ isMemOp()

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

◆ isOptimizableMove()

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

Definition at line 436 of file Instruction.h.

◆ setOptimizableMove()

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

Definition at line 437 of file Instruction.h.


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