Changes between Version 67 and Version 68 of Commentary/Compiler/NewCodeGen


Ignore:
Timestamp:
Apr 7, 2011 11:46:10 AM (3 years ago)
Author:
ezyang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/NewCodeGen

    v67 v68  
    77 * John D has built a complete new codegen pipeline, running alongside the old one, enabled by `-fuse-new-codegen`. It is described here: [wiki:Commentary/Compiler/NewCodeGenPipeline].  It uses a new representation for `Cmm`, mostly with "Z" in the name.  (Let's call the original Cmm `OldCmm` and this new one `CmmZ`.)  It has a new conversion STG->CmmZ, and then sequence of passes that optimise and cps-convert the Cmm.  Finally, it is converted back to the old Cmm so that it can flow to the old code generators. 
    88 
    9  * Compiling through the new pipeline passes all tests and GHC is bootstrappable. There is a [http://comments.gmane.org/gmane.comp.lang.haskell.cvs.ghc/45499 patch pending for a pointer tagging bug that manifests under rare conditions with the compacting GC]. 
     9 * Compiling through the new pipeline passes all tests and GHC is bootstrappable. 
    1010 
    1111 * Separately, we have developed yet another, and still better, Cmm representation, the subject of an upcoming ICFP 2010 submission.  It uses phantom types and GADTs to add very useful open/closed invariants.  This isn't in GHC at all yet.  I'll call it `CmmGADT` for easy reference.