Changes between Version 41 and Version 42 of Commentary/Compiler/NewCodeGenPipeline


Ignore:
Timestamp:
Jul 4, 2013 9:53:15 AM (10 months ago)
Author:
jstolarek
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/NewCodeGenPipeline

    v41 v42  
    3838    * The transformation inserts a function prologue at the start of each proc-point, and a function epilogue just before each branch to a proc-point. 
    3939 
    40  * '''(OUTDATED)''' '''Add spill/reload''', implemented in `CmmSpillReload`, to spill live C-- variables before a call and reload them afterwards.  The spill and reload instructions are simply memory stores and loads respectively, using symbolic stack offsets (see [wiki:Commentary/Compiler/StackAreas#Layingoutthestack stack layout]).  For example, a spill of variable 'x' would look like `Ptr32[SS(x)] = x`. 
     40 * '''(OUTDATED - !CmmSpillReload does not exist any more)''' '''Add spill/reload''', implemented in `CmmSpillReload`, to spill live C-- variables before a call and reload them afterwards.  The spill and reload instructions are simply memory stores and loads respectively, using symbolic stack offsets (see [wiki:Commentary/Compiler/StackAreas#Layingoutthestack stack layout]).  For example, a spill of variable 'x' would look like `Ptr32[SS(x)] = x`. 
    4141   * `dualLivenessWithInsertion` does two things: 
    4242     * Spills at the definition of any variable that is subequently live across a call (uses a backward analysis) 
     
    4545   * TODO: avoid  `f();g()` turning into `spill x; f(); reload x; spill x; g(); reload x`. 
    4646 
    47  * '''Rewrite assignments''' (assignments to local regs, that is, not stores).  
     47 * '''(OUTDATED - !CmmRewriteAssignments is not used any more)''' '''Rewrite assignments''' (assignments to local regs, that is, not stores).  
    4848   * 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. 
    4949   * Sink or inline assignments nearer their use points