mini-llvm 0.1.0
Loading...
Searching...
No Matches
mini_llvm::mir::Function Class Referencefinal

#include <Function.h>

Inheritance diagram for mini_llvm::mir::Function:
Collaboration diagram for mini_llvm::mir::Function:

Public Types

using iterator = IndirectIterator<BasicBlockList::iterator, BasicBlock>
using const_iterator = IndirectIterator<BasicBlockList::const_iterator, const BasicBlock>
using reverse_iterator = IndirectIterator<BasicBlockList::reverse_iterator, BasicBlock>
using const_reverse_iterator = IndirectIterator<BasicBlockList::const_reverse_iterator, const BasicBlock>

Public Member Functions

 Function (std::string name, Linkage linkage)
 Function (const Function &)=delete
 Function (Function &&)=delete
Functionoperator= (const Function &&)=delete
Functionoperator= (Function &&)=delete
std::string name () const override
Linkage linkage () const override
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
BasicBlockfront ()
const BasicBlockfront () const
BasicBlockback ()
const BasicBlockback () const
bool empty () const
size_t size () const
BasicBlockentry ()
const BasicBlockentry () const
bool isDeclaration () const
BasicBlockadd (const_iterator pos, std::unique_ptr< BasicBlock > block)
BasicBlockadd (const_iterator pos)
BasicBlockprepend (std::unique_ptr< BasicBlock > block)
BasicBlockprepend ()
BasicBlockappend (std::unique_ptr< BasicBlock > block)
BasicBlockappend ()
std::unique_ptr< BasicBlockremove (const_iterator pos)
std::unique_ptr< BasicBlockremoveFirst ()
std::unique_ptr< BasicBlockremoveLast ()
void clear ()
StackFramestackFrame ()
const StackFramestackFrame () const
std::string format () const override
Public Member Functions inherited from mini_llvm::mir::GlobalValue
virtual ~GlobalValue ()=default
 GlobalValue ()=default
 GlobalValue (const GlobalValue &)=delete
GlobalValueoperator= (const GlobalValue &)=delete
 GlobalValue (GlobalValue &&)=delete
GlobalValueoperator= (GlobalValue &&)=delete
std::string formatAsOperand () const

Member Typedef Documentation

◆ const_iterator

using mini_llvm::mir::Function::const_iterator = IndirectIterator<BasicBlockList::const_iterator, const BasicBlock>

◆ const_reverse_iterator

using mini_llvm::mir::Function::const_reverse_iterator = IndirectIterator<BasicBlockList::const_reverse_iterator, const BasicBlock>

◆ iterator

◆ reverse_iterator

using mini_llvm::mir::Function::reverse_iterator = IndirectIterator<BasicBlockList::reverse_iterator, BasicBlock>

Constructor & Destructor Documentation

◆ Function() [1/3]

mini_llvm::mir::Function::Function ( std::string name,
Linkage linkage )
inlineexplicit

◆ Function() [2/3]

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

◆ Function() [3/3]

mini_llvm::mir::Function::Function ( Function && )
delete

Member Function Documentation

◆ add() [1/2]

BasicBlock & mini_llvm::mir::Function::add ( const_iterator pos)
inline

◆ add() [2/2]

BasicBlock & mini_llvm::mir::Function::add ( const_iterator pos,
std::unique_ptr< BasicBlock > block )

◆ append() [1/2]

BasicBlock & mini_llvm::mir::Function::append ( )
inline

◆ append() [2/2]

BasicBlock & mini_llvm::mir::Function::append ( std::unique_ptr< BasicBlock > block)
inline

◆ back() [1/2]

BasicBlock & mini_llvm::mir::Function::back ( )
inline

◆ back() [2/2]

const BasicBlock & mini_llvm::mir::Function::back ( ) const
inline

◆ begin() [1/2]

iterator mini_llvm::mir::Function::begin ( )
inline

◆ begin() [2/2]

const_iterator mini_llvm::mir::Function::begin ( ) const
inline

◆ clear()

void mini_llvm::mir::Function::clear ( )

◆ empty()

bool mini_llvm::mir::Function::empty ( ) const
inline

◆ end() [1/2]

iterator mini_llvm::mir::Function::end ( )
inline

◆ end() [2/2]

const_iterator mini_llvm::mir::Function::end ( ) const
inline

◆ entry() [1/2]

BasicBlock & mini_llvm::mir::Function::entry ( )
inline

◆ entry() [2/2]

const BasicBlock & mini_llvm::mir::Function::entry ( ) const
inline

◆ format()

std::string mini_llvm::mir::Function::format ( ) const
overridevirtual

◆ front() [1/2]

BasicBlock & mini_llvm::mir::Function::front ( )
inline

◆ front() [2/2]

const BasicBlock & mini_llvm::mir::Function::front ( ) const
inline

◆ isDeclaration()

bool mini_llvm::mir::Function::isDeclaration ( ) const
inline

◆ linkage()

Linkage mini_llvm::mir::Function::linkage ( ) const
inlineoverridevirtual

◆ name()

std::string mini_llvm::mir::Function::name ( ) const
inlineoverridevirtual

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ prepend() [1/2]

BasicBlock & mini_llvm::mir::Function::prepend ( )
inline

◆ prepend() [2/2]

BasicBlock & mini_llvm::mir::Function::prepend ( std::unique_ptr< BasicBlock > block)
inline

◆ rbegin() [1/2]

reverse_iterator mini_llvm::mir::Function::rbegin ( )
inline

◆ rbegin() [2/2]

const_reverse_iterator mini_llvm::mir::Function::rbegin ( ) const
inline

◆ remove()

std::unique_ptr< BasicBlock > mini_llvm::mir::Function::remove ( const_iterator pos)

◆ removeFirst()

std::unique_ptr< BasicBlock > mini_llvm::mir::Function::removeFirst ( )
inline

◆ removeLast()

std::unique_ptr< BasicBlock > mini_llvm::mir::Function::removeLast ( )
inline

◆ rend() [1/2]

reverse_iterator mini_llvm::mir::Function::rend ( )
inline

◆ rend() [2/2]

const_reverse_iterator mini_llvm::mir::Function::rend ( ) const
inline

◆ size()

size_t mini_llvm::mir::Function::size ( ) const
inline

◆ stackFrame() [1/2]

StackFrame & mini_llvm::mir::Function::stackFrame ( )
inline

◆ stackFrame() [2/2]

const StackFrame & mini_llvm::mir::Function::stackFrame ( ) const
inline

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