mini-llvm 0.1.0
Loading...
Searching...
No Matches
mini_llvm::mir::Instruction Class Referenceabstract

#include <Instruction.h>

Inheritance diagram for mini_llvm::mir::Instruction:

Public Member Functions

virtual ~Instruction ()=default
 Instruction ()=default
 Instruction (const Instruction &)=delete
Instructionoperator= (const Instruction &)=delete
 Instruction (Instruction &&)=delete
Instructionoperator= (Instruction &&)=delete
virtual std::unordered_set< const RegisterOperand * > regOps () const =0
virtual std::unordered_set< const RegisterOperand * > dsts () const =0
virtual std::unordered_set< const RegisterOperand * > srcs () const =0
std::unordered_set< RegisterOperand * > regOps ()
std::unordered_set< RegisterOperand * > dsts ()
std::unordered_set< RegisterOperand * > srcs ()
virtual std::unordered_set< PhysicalRegister * > implicitDsts () const
virtual std::unordered_set< PhysicalRegister * > implicitSrcs () const
virtual std::unordered_set< const ImmediateOperand * > immOps () const =0
std::unordered_set< ImmediateOperand * > immOps ()
virtual std::unordered_set< const MemoryOperand * > memOps () const =0
std::unordered_set< MemoryOperand * > memOps ()
virtual bool isCoalescent () const
virtual RegistercoalescenceDst () const
virtual RegistercoalescenceSrc () const
virtual bool hasSideEffects () const =0
virtual std::string format () const =0
virtual std::unique_ptr< Instructionclone () const =0
virtual void accept (InstructionVisitor &visitor)=0
virtual void accept (InstructionVisitor &visitor) const =0

Constructor & Destructor Documentation

◆ ~Instruction()

virtual mini_llvm::mir::Instruction::~Instruction ( )
virtualdefault

◆ Instruction() [1/3]

mini_llvm::mir::Instruction::Instruction ( )
default

◆ Instruction() [2/3]

mini_llvm::mir::Instruction::Instruction ( const Instruction & )
delete

◆ Instruction() [3/3]

mini_llvm::mir::Instruction::Instruction ( Instruction && )
delete

Member Function Documentation

◆ accept() [1/2]

◆ accept() [2/2]

◆ clone()

◆ coalescenceDst()

virtual Register * mini_llvm::mir::Instruction::coalescenceDst ( ) const
inlinevirtual

Reimplemented in mini_llvm::mir::FMov, and mini_llvm::mir::Mov.

◆ coalescenceSrc()

virtual Register * mini_llvm::mir::Instruction::coalescenceSrc ( ) const
inlinevirtual

Reimplemented in mini_llvm::mir::FMov, and mini_llvm::mir::Mov.

◆ dsts() [1/2]

std::unordered_set< RegisterOperand * > mini_llvm::mir::Instruction::dsts ( )

◆ dsts() [2/2]

◆ format()

◆ hasSideEffects()

◆ immOps() [1/2]

std::unordered_set< ImmediateOperand * > mini_llvm::mir::Instruction::immOps ( )

◆ immOps() [2/2]

◆ implicitDsts()

virtual std::unordered_set< PhysicalRegister * > mini_llvm::mir::Instruction::implicitDsts ( ) const
inlinevirtual

◆ implicitSrcs()

virtual std::unordered_set< PhysicalRegister * > mini_llvm::mir::Instruction::implicitSrcs ( ) const
inlinevirtual

◆ isCoalescent()

virtual bool mini_llvm::mir::Instruction::isCoalescent ( ) const
inlinevirtual

Reimplemented in mini_llvm::mir::FMov, and mini_llvm::mir::Mov.

◆ memOps() [1/2]

std::unordered_set< MemoryOperand * > mini_llvm::mir::Instruction::memOps ( )

◆ memOps() [2/2]

◆ operator=() [1/2]

Instruction & mini_llvm::mir::Instruction::operator= ( const Instruction & )
delete

◆ operator=() [2/2]

Instruction & mini_llvm::mir::Instruction::operator= ( Instruction && )
delete

◆ regOps() [1/2]

std::unordered_set< RegisterOperand * > mini_llvm::mir::Instruction::regOps ( )

◆ regOps() [2/2]

◆ srcs() [1/2]

std::unordered_set< RegisterOperand * > mini_llvm::mir::Instruction::srcs ( )

◆ srcs() [2/2]


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