1. 25 Sep, 2012 1 commit
  2. 24 Sep, 2012 1 commit
  3. 18 Sep, 2012 2 commits
  4. 16 Sep, 2012 1 commit
  5. 14 Sep, 2012 1 commit
  6. 12 Sep, 2012 1 commit
  7. 04 Sep, 2012 1 commit
  8. 30 Jul, 2012 2 commits
    • Simon Marlow's avatar
      fix warnings · 8b31090c
      Simon Marlow authored
      8b31090c
    • Simon Marlow's avatar
      New codegen: do not split proc-points when using the NCG · f1ed6a10
      Simon Marlow authored
      Proc-point splitting is only required by backends that do not support
      having proc-points within a code block (that is, everything except the
      native backend, i.e. LLVM and C).
      
      Not doing proc-point splitting saves some compilation time, and might
      produce slightly better code in some cases.
      f1ed6a10
  9. 20 Jul, 2012 1 commit
  10. 17 Jul, 2012 3 commits
  11. 05 Jul, 2012 1 commit
  12. 04 Jul, 2012 1 commit
  13. 22 Jun, 2012 1 commit
    • Ian Lynagh's avatar
      Remove some uses of sortLe · 0043f07a
      Ian Lynagh authored
      Technically the behaviour of sortWith has changed, as it used
          x `le` y = get_key x < get_key y
      (note "<" rather than "<="), but I assume that that was just a mistake.
      0043f07a
  14. 13 Jun, 2012 2 commits
  15. 05 Jun, 2012 1 commit
  16. 15 Mar, 2012 2 commits
  17. 06 Mar, 2012 1 commit
    • Simon Marlow's avatar
      Lower safe foreign calls in the new CmmLayoutStack · 93e42a68
      Simon Marlow authored
      We also generate much better code for safe foreign calls (and maybe
      also unsafe foreign calls) than previously.  See the two new Notes:
      
      Note [lower safe foreign calls]
      Note [safe foreign call convention]
      93e42a68
  18. 26 Feb, 2012 1 commit
  19. 14 Feb, 2012 1 commit
  20. 08 Feb, 2012 2 commits
    • Simon Marlow's avatar
      05b8ee21
    • Simon Marlow's avatar
      New stack layout algorithm · 76999b60
      Simon Marlow authored
      Also:
       - improvements to code generation: push slow-call continuations
         on the stack instead of generating explicit continuations
      
       - remove unused CmmInfo wrapper type (replace with CmmInfoTable)
      
       - squash Area and AreaId together, remove now-unused RegSlot
      
       - comment out old unused stack-allocation code that no longer
         compiles after removal of RegSlot
      76999b60
  21. 26 Jan, 2012 1 commit
  22. 25 Jan, 2012 1 commit
  23. 19 Jan, 2012 1 commit
  24. 17 Jan, 2012 1 commit
  25. 05 Nov, 2011 1 commit
  26. 04 Nov, 2011 1 commit
  27. 02 Oct, 2011 1 commit
  28. 25 Aug, 2011 3 commits
  29. 07 Jul, 2011 1 commit
  30. 05 Jul, 2011 1 commit
    • batterseapower's avatar
      Refactoring: use a structured CmmStatics type rather than [CmmStatic] · 54843b5b
      batterseapower authored
      I observed that the [CmmStatics] within CmmData uses the list in a very stylised way.
      The first item in the list is almost invariably a CmmDataLabel. Many parts of the
      compiler pattern match on this list and fail if this is not true.
      
      This patch makes the invariant explicit by introducing a structured type CmmStatics
      that holds the label and the list of remaining [CmmStatic].
      
      There is one wrinkle: the x86 backend sometimes wants to output an alignment directive just
      before the label. However, this can be easily fixed up by parameterising the native codegen
      over the type of CmmStatics (though the GenCmmTop parameterisation) and using a pair
      (Alignment, CmmStatics) there instead.
      
      As a result, I think we will be able to remove CmmAlign and CmmDataLabel from the CmmStatic
      data type, thus nuking a lot of code and failing pattern matches. This change will come as part
      of my next patch.
      54843b5b
  31. 24 Jan, 2011 1 commit
    • Simon Marlow's avatar
      Merge in new code generator branch. · 889c084e
      Simon Marlow authored
      This changes the new code generator to make use of the Hoopl package
      for dataflow analysis.  Hoopl is a new boot package, and is maintained
      in a separate upstream git repository (as usual, GHC has its own
      lagging darcs mirror in http://darcs.haskell.org/packages/hoopl).
      
      During this merge I squashed recent history into one patch.  I tried
      to rebase, but the history had some internal conflicts of its own
      which made rebase extremely confusing, so I gave up. The history I
      squashed was:
      
        - Update new codegen to work with latest Hoopl
        - Add some notes on new code gen to cmm-notes
        - Enable Hoopl lag package.
        - Add SPJ note to cmm-notes
        - Improve GC calls on new code generator.
      
      Work in this branch was done by:
         - Milan Straka <fox@ucw.cz>
         - John Dias <dias@cs.tufts.edu>
         - David Terei <davidterei@gmail.com>
      
      Edward Z. Yang <ezyang@mit.edu> merged in further changes from GHC HEAD
      and fixed a few bugs.
      889c084e