4221 on new codegen
ezyang
ezyang at MIT.EDU
Thu Feb 3 23:41:54 CET 2011
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? ;-)
More information about the Glasgow-haskell-users
mailing list