LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
Multiple target support. More...
Namespaces | |
namespace | ia32 |
namespace | mips |
namespace | tasks |
Classes | |
class | Assembly |
An assembly language comes with its syntax, its runtime library, and its layout of fragments. More... | |
class | Codegen |
Abstract a Code Generator. More... | |
class | CpuLimits |
A set of restriction over a Cpu. More... | |
class | Cpu |
A Cpu mainly describes target machine's registers. More... | |
class | Target |
A Target is the union of a Cpu and a Codegen. More... |
Functions | |
std::ostream & | operator<< (std::ostream &ostr, const Cpu &cpu) |
Output cpu on ostr. | |
assem::Fragments * | lir_to_assem (const tree::Fragments &fragments, Target &target) |
Produce architecture-dependent assembly instructions. | |
void | runtime_dump (const Target &target, bool gc, std::ostream &str) |
void | instructions_dump (assem::Fragments &fragments, Target &target, std::ostream &ostr=std::cout) |
Print the instructions. | |
void | instructions_dump (assem::Fragments &fragments, Target &target, temp::TempMap &tempmap, std::ostream &ostr, bool instructions_debug_p) |
void | frame_allocate (assem::Fragments &fragments, const Target &target) |
Prepare Nolimips display. | |
std::ostream & | operator<< (std::ostream &ostr, const Target &t) |
Output t on ostr. |
Multiple target support.
void target::frame_allocate | ( | assem::Fragments & | fragments, |
const Target & | target | ||
) |
Prepare Nolimips display.
References target::Target::codegen_get().
Referenced by regalloc::tasks::asm_compute(), and target::tasks::nolimips_display().
void target::instructions_dump | ( | assem::Fragments & | fragments, |
Target & | target, | ||
std::ostream & | ostr | ||
) |
Print the instructions.
References target::Target::assembly_get(), target::Assembly::layout_get(), and assem::Layout::ostr_set().
Referenced by target::tasks::inst_display(), and instructions_dump().
void target::instructions_dump | ( | assem::Fragments & | fragments, |
Target & | target, | ||
temp::TempMap & | tempmap, | ||
std::ostream & | ostr = std::cout , |
||
bool | instruction_debug_p = false |
||
) |
Print the instructions, and replaces temporary with actual registers using tempmap.
References assem::Instr::debug, instructions_dump(), temp::Identifier< Traits_ >::map, misc::xalloc< StoredType >::swap(), and temp::tasks::tempmap.
assem::Fragments * target::lir_to_assem | ( | const tree::Fragments & | frags, |
Target & | target | ||
) |
Produce architecture-dependent assembly instructions.
References tree::ProcFrag::body_get(), and target::Target::codegen_get().
Referenced by target::tasks::inst_compute().
std::ostream & target::operator<< | ( | std::ostream & | ostr, |
const Target & | t | ||
) |
Output t on ostr.
References target::Target::dump().
std::ostream & target::operator<< | ( | std::ostream & | ostr, |
const Cpu & | cpu | ||
) |
Output cpu on ostr.
References target::Cpu::dump().
void target::runtime_dump | ( | const Target & | target, |
bool | gc = false , |
||
std::ostream & | str = std::cout |
||
) |
Dump the runtime.
target | target machine. |
gc | enable garbage collection (meaningful on IA-32 only yet). |
str | output stream on which to dump the runtime. |
References target::Target::assembly_get(), and target::Assembly::runtime().
Referenced by target::tasks::runtime_display().