LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
Simplification of tree::Tree code. More...
Namespaces | |
namespace | tasks |
Classes | |
class | BasicBlock |
A location independent piece of tree::Tree code. More... | |
struct | is_nop |
Return false if tree has to be run. Try to say true as much as possible. More... | |
struct | commute_p |
Return false if a and b cannot be swapped, try to say true as much as possible. More... | |
class | Canon |
Object function to canonicalize tree::Tree code. More... | |
struct | jump_name_p |
Is tree a JUMP(NAME())? This is a predicate. More... | |
struct | label_to_p |
Is tree a LABEL pointing to label? More... | |
class | Traces |
Object function to linearize canonicalized tree::Tree code. More... |
Functions | |
std::ostream & | operator<< (std::ostream &ostr, const BasicBlock &block) |
Report block on ostr. | |
void | canonicalize (tree::Fragments &fragments, bool canon_trace_p=false) |
Simplify the fragments. | |
void | make_traces (tree::Fragments &fragments, bool trace_trace_p=false) |
Normalize the CJump of fragments. |
Simplification of tree::Tree code.
void canon::canonicalize | ( | tree::Fragments & | fragments, |
bool | canon_trace_p | ||
) |
Simplify the fragments.
References tree::ProcFrag::body_get(), and tree::ProcFrag::body_set().
Referenced by canon::tasks::canon_compute().
void canon::make_traces | ( | tree::Fragments & | fragments, |
bool | trace_trace_p | ||
) |
Normalize the CJump of fragments.
Referenced by canon::tasks::traces_compute().
|
inline |
Report block on ostr.
References canon::BasicBlock::dump().