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

#include <Instruction.h>

Inheritance diagram for mini_llvm::ir::Instruction:
Collaboration diagram for mini_llvm::ir::Instruction:

Public Member Functions

BasicBlockparent () const
BasicBlock::iterator parentIterator () const
virtual std::unordered_set< const UseBase * > operands () const =0
std::unordered_set< UseBase * > operands ()
virtual bool isFoldable () const
virtual std::shared_ptr< Constantfold () const
virtual void accept (InstructionVisitor &visitor)=0
virtual void accept (InstructionVisitor &visitor) const =0
bool isWellFormed () const override
std::string formatAsOperand () const override
Public Member Functions inherited from mini_llvm::ir::Value
virtual ~Value ()=default
 Value ()=default
 Value (const Value &)=delete
Valueoperator= (const Value &)=delete
 Value (Value &&)=delete
Valueoperator= (Value &&)=delete
const std::string & name () const &
std::string && name () &&
void setName (std::string name)
std::string formatName () const
use_iterator use_begin () const
use_iterator use_end () const
bool use_empty () const
size_t use_size () const
virtual std::unique_ptr< Typetype () const =0
virtual std::string format () const =0
virtual std::unique_ptr< Valueclone () const =0

Friends

class BasicBlock

Additional Inherited Members

Public Types inherited from mini_llvm::ir::Value
using use_iterator = IndirectIterator<UseSet::iterator, UseBase>

Member Function Documentation

◆ accept() [1/2]

◆ accept() [2/2]

◆ fold()

◆ formatAsOperand()

std::string mini_llvm::ir::Instruction::formatAsOperand ( ) const
inlineoverridevirtual

Implements mini_llvm::ir::Value.

◆ isFoldable()

◆ isWellFormed()

◆ operands() [1/2]

std::unordered_set< UseBase * > mini_llvm::ir::Instruction::operands ( )

◆ operands() [2/2]

◆ parent()

BasicBlock * mini_llvm::ir::Instruction::parent ( ) const
inline

◆ parentIterator()

BasicBlock::iterator mini_llvm::ir::Instruction::parentIterator ( ) const
inline

◆ BasicBlock

friend class BasicBlock
friend

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