LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
Encapsulate an instruction fragment in assembly language. More...
#include <fragment.hh>
Public Member Functions | |
ProcFrag (const tree::ProcFrag &frag) | |
~ProcFrag () | |
virtual std::ostream & | dump (std::ostream &ostr) const override |
frame::Frame & | frame_get () |
The frame. | |
const misc::symbol & | name_get () const |
Original name of the function (for debugging). | |
temp::Label | label_get () const |
Unique label in the output. | |
std::string | file_name (const std::string &p="", const std::string &s="") const |
void | instrs_set (assem::Instrs &instrs) |
Set the instructions of this to instrs. | |
assem::Instrs & | instrs_get () |
The instructions. | |
const assem::Instrs & | instrs_get () const |
The instructions. | |
Visitors entry point. | |
virtual void | accept (Visitor &v) override |
Accept a Visitor v. | |
virtual void | accept (ConstVisitor &v) const override |
Protected Attributes | |
frame::Frame | frame_ |
The frame. | |
misc::symbol | name_ |
Original name. | |
temp::Label | label_ |
Unique label. | |
assem::Instrs | instrs_ |
Instructions computed by codegen. |
Encapsulate an instruction fragment in assembly language.
|
inline |
assem::ProcFrag::~ProcFrag | ( | ) |
|
overridevirtual |
Accept a Visitor v.
Implements assem::Fragment.
|
overridevirtual |
Implements assem::Fragment.
|
overridevirtual |
Implements assem::Fragment.
std::string assem::ProcFrag::file_name | ( | const std::string & | p = "" , |
const std::string & | s = "" |
||
) | const |
A (unique) file name for this fragment.
p | a prefix |
s | a suffix |
References label_, name_, misc::symbol::name_get(), and temp::Identifier< Traits_ >::string_get().
Referenced by liveness::flowgraph_dump(), liveness::interference_dump(), and liveness::liveness_dump().
|
inline |
The frame.
References frame_.
Referenced by target::Codegen::fragment_entry_exit_build(), and target::Codegen::frame_build().
|
inline |
The instructions.
References instrs_.
Referenced by liveness::flowgraph_dump(), target::Codegen::fragment_entry_exit_build(), target::Codegen::frame_build(), liveness::interference_dump(), liveness::liveness_dump(), target::mips::SpimLayout::operator()(), target::ia32::GasLayout::operator()(), and regalloc::RegisterAllocator::operator()().
|
inline |
The instructions.
References instrs_.
|
inline |
Set the instructions of this to instrs.
References instrs_, and precondition.
|
inline |
Unique label in the output.
References label_.
Referenced by target::Codegen::fragment_entry_exit_build(), and target::ia32::GasLayout::operator()().
|
inline |
Original name of the function (for debugging).
References name_.
Referenced by target::ia32::GasLayout::operator()(), and target::mips::SpimLayout::operator()().
|
protected |
The frame.
Referenced by frame_get().
|
protected |
Instructions computed by codegen.
Referenced by dump(), instrs_get(), and instrs_set().
|
protected |
Unique label.
Referenced by file_name(), and label_get().
|
protected |
Original name.
Referenced by dump(), file_name(), and name_get().