Changes between Version 6 and Version 7 of Commentary/Compiler/NewCodeGenPipeline


Ignore:
Timestamp:
Jul 11, 2008 4:21:37 PM (7 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/NewCodeGenPipeline

    v6 v7  
    44 * '''Code generator''' converts STG to `CmmGraph`.  Implemented in `StgCmm*` modules (in directory `codeGen`).  
    55   * Parameter passing and stack adjustments are made explicit using the [wiki:Commentary/Compiler/StackAreas ''Stack Area'' abstraction.] 
    6    * But we still have `LastCall`, `LastReturn`, `LastBranch` as `Last` nodes. 
     6   * That includes a store of the return address. 
     7   * No `CopyIn`, `CopyOut` nodes any more; instead "smart constructors" lower the calling convention to loads/stores/register transfers, using stack area abstraction. 
     8   * But we still have `LastCall`, `LastReturn`, `LastBranch`, `LastJump` as `Last` nodes. 
    79   * TODO: Use the proper calling conventions (post Rep Swamp). 
    810 
     
    1719    * The analysis produces a set of `BlockId` that should become proc-points 
    1820    * 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. 
     21    * No more `LastCall` nodes; instead they have turned into `LastB` nodes. 
     22    * ''Perhpas'', not more `LastReturn` nodes. 
    1923 
    2024 * '''Add spill/reload''', implemented in `CmmSpillReload`, to spill live C-- variables before a call and reload them afterwards.  The middle node of the result is `Middle` (from `ZipCfgCmm` extended with `Spill` and `Reload` constructors.