Changes between Version 31 and Version 32 of Commentary/Compiler/NewCodeGenPipeline


Ignore:
Timestamp:
Nov 12, 2009 2:34:49 PM (4 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/NewCodeGenPipeline

    v31 v32  
    3535    * 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. 
    3636 
    37  * '''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`. 
     37 * '''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`.  There are three stages: 
     38   * Insert spills at definitions and reloads at return points 
     39   * Duplicate reloads just before uses 
     40   * Remove redundant reloads 
    3841 
    3942 * '''Figure out the stack layout''', implemented in `CmmStackLayout`.