1. 02 Oct, 2011 1 commit
  2. 25 Aug, 2011 2 commits
  3. 21 Aug, 2011 2 commits
    • kgardas's avatar
      enable ARM specific target data layout and triple again · 748883b4
      kgardas authored
      This patch is allowed by the 'on ARMv7 with VFPv3[D16] support pass
       appropriate -mattr value to LLVM llc' patch. The trick is that LLVM
      by default (probably!) does not enable VFP, but GHC requires it
      so LLVM's llc asserts on unavailable floating point register. i.e. GHC/LLVM
      backend compiles into LLVM code which is using floats, but llc thinks
      no float regs for this are available. Passing appropriate llc option
      which is implemented in patch mentioned above fixes this issue.
      748883b4
    • dterei's avatar
      Add popcnt support to LLVM backend · 2906db6c
      dterei authored
      2906db6c
  4. 10 Aug, 2011 5 commits
  5. 18 Jul, 2011 1 commit
  6. 15 Jul, 2011 1 commit
    • Ian Lynagh's avatar
      More work towards cross-compilation · f07af788
      Ian Lynagh authored
      There's now a variant of the Outputable class that knows what
      platform we're targetting:
      
      class PlatformOutputable a where
          pprPlatform :: Platform -> a -> SDoc
          pprPlatformPrec :: Platform -> Rational -> a -> SDoc
      
      and various instances have had to be converted to use that class,
      and we pass Platform around accordingly.
      f07af788
  7. 06 Jul, 2011 3 commits
  8. 05 Jul, 2011 2 commits
    • batterseapower's avatar
    • 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
  9. 28 Jun, 2011 1 commit
  10. 25 Jun, 2011 2 commits
  11. 13 Jun, 2011 1 commit
  12. 31 May, 2011 1 commit
  13. 04 May, 2011 2 commits
  14. 01 May, 2011 1 commit
  15. 19 Apr, 2011 1 commit
  16. 09 Mar, 2011 1 commit
  17. 13 Feb, 2011 1 commit
    • dterei's avatar
      LLVM: Huge improvement to mangler speed. · 6c8893bf
      dterei authored
      The old llvm mangler was horrible! Very slow
      due to bad design and code. New version is
      linear complexity as it should be and far
      lower coefficients. This fixes trac 4838.
      6c8893bf
  18. 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
  19. 10 Dec, 2010 2 commits
  20. 04 Oct, 2010 1 commit
  21. 21 Jul, 2010 1 commit
  22. 20 Jul, 2010 2 commits
  23. 19 Jul, 2010 2 commits
  24. 18 Jul, 2010 1 commit
  25. 14 Jul, 2010 2 commits