1. 03 Jul, 2007 3 commits
  2. 28 Jun, 2007 6 commits
  3. 27 Jun, 2007 7 commits
  4. 26 Jun, 2007 1 commit
  5. 21 Jun, 2007 1 commit
  6. 19 Jun, 2007 1 commit
  7. 13 Jun, 2007 1 commit
  8. 06 Jun, 2007 2 commits
  9. 29 May, 2007 4 commits
  10. 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
  11. 24 May, 2007 2 commits
  12. 23 May, 2007 7 commits
  13. 22 May, 2007 2 commits
    • Michael D. Adams's avatar
    • Michael D. Adams's avatar
      Make CmmProc take CmmFormals as argument · 418175d3
      Michael D. Adams authored
      Since a CmmCall returns CmmFormals which may include
      global registers (and indeed one place in the code
      returns the results of a CmmCall into BaseReg) and
      since CPS conversion will change those return slots
      into formal arguments for the continuation of the call,
      CmmProc has to have CmmFormals for the formal arguments.
      
      Oddly, the old code never made use of procedure arguments
      so this change only effects the types and not any of the code.
      (Because [] is both of type [LocalReg] and CmmFormals.)
      418175d3