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