TC-7 Goals
Things to learn during this stage that you should remember:
- RISC vs. CISC etc.
Different kinds of microprocessors, different spirits in assembly.
- Assembly
Understanding how computer actually run.
- Memory hierarchy/management at runtime
Recursive languages need memory management to implement automatic variables.
- Tree matching, rewriting
Perform instruction selection using pattern-matching.
- Use of
ios::xalloc
Instr
are contained inInstrs
, itself inFragment
, itself inFragments
. Suppose you mean to add a debugging flag to print anInstr
, what shall you do? Add another argument to all thedump
methods in these four hierarchies? The problem withTemp
is even worse: they are scattered everywhere, yet we would like to specify how to output them thanks to astd::map
. Should we pass this map in each and every single call?Using
ios::xalloc
,ostream::pword
, andostream::iword
saves the day.