- 03 Jul, 2007 4 commits
-
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
- 02 Jul, 2007 1 commit
-
-
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.
-
- 28 Jun, 2007 1 commit
-
-
Michael D. Adams authored
-
- 03 Jul, 2007 4 commits
-
-
Simon Marlow authored
-
simonpj@microsoft.com authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 28 Jun, 2007 6 commits
-
-
Simon Marlow authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
- 27 Jun, 2007 7 commits
-
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
This eliminates one of the panics introduced by the previous patch: 'First pass at implementing info tables for CPS' The other panic introduced by that patch still remains. It was due to the need to convert from a ContinuationInfo to a CmmInfo. (codeGen/CgInfoTbls.hs:emitClosureCodeAndInfoTable) (codeGen/CgInfoTbls.hs:emitReturnTarget)
-
Michael D. Adams authored
This is a fairly complete implementation, however two 'panic's have been placed in the critical path where the implementation is still a bit lacking so do not expect it to run quite yet. One call to panic is because we still need to create a GC block for procedures that don't have them yet. (cmm/CmmCPS.hs:continuationToProc) The other is due to the need to convert from a ContinuationInfo to a CmmInfo. (codeGen/CgInfoTbls.hs:emitClosureCodeAndInfoTable) (codeGen/CgInfoTbls.hs:emitReturnTarget)
-
Michael D. Adams authored
-
Michael D. Adams authored
This version should compile but is still incomplete as it introduces potential bugs at the places marked 'TODO FIXME NOW'. It is being recorded to help keep track of changes.
-
- 26 Jun, 2007 1 commit
-
-
Michael D. Adams authored
The return values were getting put in a LocalReg but that LocalReg needed to be stored into the enclosing expression's return register (e.g. R1).
-
- 21 Jun, 2007 1 commit
-
-
Michael D. Adams authored
-
- 19 Jun, 2007 1 commit
-
-
Michael D. Adams authored
-
- 13 Jun, 2007 1 commit
-
-
Michael D. Adams authored
-
- 06 Jun, 2007 2 commits
-
-
Michael D. Adams authored
This patch is incomplete and will probably not compile by itself but it is being recorded to help keep track of later changes.
-
Michael D. Adams authored
-
- 29 May, 2007 4 commits
-
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
Michael D. Adams authored
-
- 25 May, 2007 3 commits
-
-
Michael D. Adams authored
-
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.
-
Michael D. Adams authored
-
- 24 May, 2007 2 commits
-
-
Michael D. Adams authored
-
Michael D. Adams authored
-
- 23 May, 2007 2 commits
-
-
Michael D. Adams authored
-
Michael D. Adams authored
-