LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
Root for abstract assembly instructions. More...
#include <instr.hh>
Public Member Functions | |
Instr (const std::string &assem, const temp::temp_list_type &used_temps=temp::temp_list_type(), const temp::temp_list_type &defd_temps=temp::temp_list_type(), const temp::label_list_type &jump_labels=temp::label_list_type()) | |
virtual | ~Instr () |
const temp::temp_list_type & | use () const |
const temp::temp_list_type & | def () const |
const temp::label_list_type & | jumps () const |
temp::temp_list_type & | use () |
temp::temp_list_type & | def () |
virtual std::ostream & | dump (std::ostream &ostr) const |
Output the TempMap m onto ostr. |
Static Public Attributes | |
static const misc::xalloc< bool > | debug |
Set whether Instr::print report debugging information? Return the previous value. |
Protected Attributes | |
std::string | assem_ |
temp::temp_list_type | use_ |
temp::temp_list_type | def_ |
temp::label_list_type | jumps_ |
Root for abstract assembly instructions.
Assemly instructions are composed of a string (the instruction itself) a` la printf, where
and of three lists
After instruction selection, the registers are mostly soft (or pseudo) registers, and register allocation replaces then with hard registers.
|
inline |
|
virtual |
|
inline |
References def_.
Referenced by assem::Move::dst_get(), and dump().
|
inline |
References def_.
|
virtual |
Output the TempMap m onto ostr.
Reimplemented in assem::Move, and assem::Oper.
References assem_, assertion, debug, def(), jumps(), unreached, and use().
Referenced by assem::operator<<().
|
inline |
|
inline |
References use_.
Referenced by dump(), and assem::Move::src_get().
|
inline |
References use_.
|
protected |
Referenced by dump(), and assem::Comment::print().
|
static |
Set whether Instr::print report debugging information? Return the previous value.
Referenced by dump(), and target::instructions_dump().
|
protected |
Referenced by def(), and assem::Move::def_get().
|
protected |
Referenced by jumps().
|
protected |
Referenced by use(), and assem::Move::use_get().