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.