Changes between Version 37 and Version 38 of Commentary/Compiler/NewCodeGenPipeline
- Timestamp:
- 06/16/11 04:38:47 (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Commentary/Compiler/NewCodeGenPipeline
v37 v38 44 44 At this point, no (`LocalReg`) variables are live across a call. 45 45 * TODO: avoid `f();g()` turning into `spill x; f(); reload x; spill x; g(); reload x`. 46 * (TODO: delete the "Remove redundant reloads")47 46 48 47 * '''Rewrite assignments''' (assignments to local regs, that is, not stores). 49 48 * Convert graph to annotated graph whose nodes are `CmmRewriteAssignments.WithRegUsage`. Specifically, `CmmAssign` is decorated with a flag `RegUsage` saying whether it is used once or many times. 50 49 * Sink or inline assignments nearer their use points 50 51 * '''Remove redundant and dead assignments and stores''', implemented in `CmmSpillReload`, removes assignments to dead variables and things like ``a = a`` or ``I32[Hp] = I32[Hp]``. 51 52 52 53 * '''Figure out the stack layout''', implemented in `CmmStackLayout`.
