4221 on new codegen

Simon Marlow marlowsd at gmail.com
Fri Feb 4 09:33:11 CET 2011

On 03/02/2011 22:41, ezyang wrote:
> Assuming that runFuelIO is the only mechanism by which fueled execution
> is performed, the only file using fuel is CmmCPS.hs.  This file performs:
>      1. Proc point analysis
>      2. Proc point transformation
>      3. Spills and reloads
>      4. Late reloads
>      5. Dead assignment elimination
>      6. Stub dead slots (optional)
>      7. Stack slot analysis
>      8. Manifest the SP
>      9. Proc point analysis
>      10. Splitting proc points
>      11. CAF analysis
>      12. Safe call lowering
> Out of these, it only seems like (5) and (11) are optional.  Any that I missed? It's
> not very promising (and I think I will go for another angle of attack soon);
> I guess fuel will be more useful when we start implementing
> optimizations on top of the new codegen.
> Amusingly enough the simple control flow optimisation is not subject to fuel
> constraints: tis all pure code. :-)
> Cheers,
> Edward
> P.S. I guess if I get stuck, I'll go and remove the dead code we talked about.
> That shouldn't be too hard, right? ;-)

Yes, I think starting work on the cleanup would be worthwhile at this 
stage.  It'll be much easier to dig around in the code to find the bugs 
once all the cruft has gone.


More information about the Glasgow-haskell-users mailing list