1. 03 Jul, 2007 6 commits
  2. 02 Jul, 2007 1 commit
    • Michael D. Adams's avatar
      Multiple improvements to CPS algorithm. · a2d5d3c9
      Michael D. Adams authored
      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.
      a2d5d3c9
  3. 28 Jun, 2007 1 commit
  4. 03 Jul, 2007 4 commits
  5. 28 Jun, 2007 6 commits
  6. 27 Jun, 2007 7 commits
  7. 26 Jun, 2007 1 commit
  8. 21 Jun, 2007 1 commit
  9. 19 Jun, 2007 1 commit
  10. 13 Jun, 2007 1 commit
  11. 06 Jun, 2007 2 commits
  12. 29 May, 2007 4 commits
  13. 25 May, 2007 3 commits
    • Michael D. Adams's avatar
    • Michael D. Adams's avatar
      Moved global register saving from the backend to codeGen · bd3a364d
      Michael D. Adams authored
      This frees the Cmm data type from keeping a list of live global registers
      in CmmCall which helps prepare for the CPS conversion phase.
      
      CPS conversion does its own liveness analysis and takes input that should
      not directly refer to parameter registers (e.g. R1, F5, D3, L2).  Since
      these are the only things which could occur in the live global register
      list, CPS conversion makes that field of the CmmCall constructor obsolite.
      
      Once the CPS conversion pass is fully implemented, global register saving
      will move from codeGen into the CPS pass.  Until then, this patch
      is worth scrutinizing and testing to ensure it doesn't cause any performance
      or correctness problems as the code passed to the backends by the CPS
      converting will look very similar to the code that this patch makes codeGen
      pass to the backend.
      bd3a364d
    • Michael D. Adams's avatar
      Formatting changes for CPS code. · 21bc3ec7
      Michael D. Adams authored
      21bc3ec7
  14. 24 May, 2007 2 commits