Changes between Version 1 and Version 2 of Status/May12


Ignore:
Timestamp:
May 6, 2012 8:41:23 PM (2 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/May12

    v1 v2  
    2222 * '''Type-level natural numbers''' (Iavor D) 
    2323 
     24 * '''Windows x64 Support''' (Ian L) 
     25 
    2426 * '''The new code generator''' (Simon M).  The glorious new code generator [6] has been an ongoing project for some time now.  The basic idea is to replace the pass of the compiler that converts from STG to Cmm (our internal C-- representation) with a more flexible framework consisting of two main passes: one that generates C-- without explicit stack manipulation, and a second pass that makes the stack explicit.  This will enable a host of improvements and optimisations in due course.  The new code generator uses the Hoopl framework for code analysis and rewriting [7].  Earlier this year I (Simon M) took over this project, and spent a lot of time optimising the existing framework and Hoopl itself.  I also rewrote the stack allocator, and made a number of simplifications.  The current state is that the new code generator produces code that is almost as good as the old one (and occasionally better), and is somewhat slower (roughly 15% slower compilation with -O).  The goal is to further improve on this, and I'm confident that we can generate better code in most cases than the old code generator.  I hope this can make it into 7.6.1, but no guarantees. 
    2527