patch applied (ghc): Multiple improvements to CPS algorithm.
Michael Adams
adamsmd at cs.indiana.edu
Wed Jul 4 04:55:06 EDT 2007
Mon Jul 2 01:42:21 PDT 2007 Michael D. Adams <t-madams at microsoft.com>
* Multiple improvements to CPS algorithm.
These include:
- Stack size detection now includes function arguments.
- Stack size detection now avoids stack checks just because of
the GC block.
- A CmmCall followed by a CmmBranch will no longer generate an extra
continuation consisting just of the brach.
- Multiple CmmCall/CmmBranch pairs that all go to the same place
will try to use the same continuation. If they can't (because
the return value signature is different), adaptor block are built.
- Function entry statements are now in a separate block.
(Fixed bug with branches to the entry block having unintended effects.)
- Other changes that I can't recall right now.
M ./compiler/cmm/Cmm.hs -1 +3
M ./compiler/cmm/CmmBrokenBlock.hs -28 +180
M ./compiler/cmm/CmmCPS.hs -116 +204
M ./compiler/cmm/CmmProcPoint.hs -1 +1
M ./compiler/codeGen/ClosureInfo.lhs +1
More information about the Cvs-ghc
mailing list