mini-llvm 0.1.0
Loading...
Searching...
No Matches
mini_llvm::mir::Mov Class Reference

#include <Mov.h>

Inheritance diagram for mini_llvm::mir::Mov:
Collaboration diagram for mini_llvm::mir::Mov:

Public Member Functions

 Mov (int width, std::shared_ptr< Register > dst, std::shared_ptr< Register > src, ExtensionMode extMode=ExtensionMode::kNo)
bool isCoalescent () const override
RegistercoalescenceDst () const override
RegistercoalescenceSrc () const override
bool hasSideEffects () const override
std::unique_ptr< Instructionclone () const override
void accept (InstructionVisitor &visitor) override
void accept (InstructionVisitor &visitor) const override
Public Member Functions inherited from mini_llvm::mir::UnaryOperator
int width () const
template<typename Self>
auto & dst (this Self &&self)
template<typename Self>
auto & src (this Self &&self)
ExtensionMode extMode () const
std::unordered_set< const RegisterOperand * > regOps () const override
std::unordered_set< const RegisterOperand * > dsts () const override
std::unordered_set< const RegisterOperand * > srcs () const override
std::unordered_set< const ImmediateOperand * > immOps () const override
std::unordered_set< const MemoryOperand * > memOps () const override
std::string format () const override
Public Member Functions inherited from mini_llvm::mir::Instruction
virtual ~Instruction ()=default
 Instruction ()=default
 Instruction (const Instruction &)=delete
Instructionoperator= (const Instruction &)=delete
 Instruction (Instruction &&)=delete
Instructionoperator= (Instruction &&)=delete
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
std::unordered_set< ImmediateOperand * > immOps ()
std::unordered_set< MemoryOperand * > memOps ()

Protected Member Functions

const char * mnemonic () const override
Protected Member Functions inherited from mini_llvm::mir::UnaryOperator
 UnaryOperator (int width, std::shared_ptr< Register > dst, std::shared_ptr< Register > src, ExtensionMode extMode)

Constructor & Destructor Documentation

◆ Mov()

mini_llvm::mir::Mov::Mov ( int width,
std::shared_ptr< Register > dst,
std::shared_ptr< Register > src,
ExtensionMode extMode = ExtensionMode::kNo )
inline

Member Function Documentation

◆ accept() [1/2]

void mini_llvm::mir::Mov::accept ( InstructionVisitor & visitor) const
inlineoverridevirtual

◆ accept() [2/2]

void mini_llvm::mir::Mov::accept ( InstructionVisitor & visitor)
inlineoverridevirtual

◆ clone()

std::unique_ptr< Instruction > mini_llvm::mir::Mov::clone ( ) const
inlineoverridevirtual

◆ coalescenceDst()

Register * mini_llvm::mir::Mov::coalescenceDst ( ) const
inlineoverridevirtual

Reimplemented from mini_llvm::mir::Instruction.

◆ coalescenceSrc()

Register * mini_llvm::mir::Mov::coalescenceSrc ( ) const
inlineoverridevirtual

Reimplemented from mini_llvm::mir::Instruction.

◆ hasSideEffects()

bool mini_llvm::mir::Mov::hasSideEffects ( ) const
inlineoverridevirtual

◆ isCoalescent()

bool mini_llvm::mir::Mov::isCoalescent ( ) const
inlineoverridevirtual

Reimplemented from mini_llvm::mir::Instruction.

◆ mnemonic()

const char * mini_llvm::mir::Mov::mnemonic ( ) const
inlineoverrideprotectedvirtual

The documentation for this class was generated from the following file:
  • include/mini-llvm/mir/Instruction/Mov.h