1. 13 Dec, 2011 17 commits
  2. 12 Dec, 2011 9 commits
  3. 11 Dec, 2011 3 commits
  4. 09 Dec, 2011 5 commits
  5. 08 Dec, 2011 2 commits
    • PHO's avatar
      Resurrect UseLibFFIForAdjustors from bitrot. · 616b6697
      PHO authored
      * Pass -Irts/dist/build to the C preprocessor to expose libffi headers (ffi.h and ffitarget.h) to foreign import wrappers during the building process of GHC itself.
      * Install libffi headers into $(ghcheaderdir) just like any other C headers. Otherwise an installed GHC can't find them when it wants to compile foreign import wrappers.
      * Include libffi headers in the bindist for the same reason.
      616b6697
    • PHO's avatar
      Detect cases where as(1) doesn't recognise .ident directive (#5408) · 3640d374
      PHO authored
      .ident directives are usually ignored by as(1), and in some cases (like Darwin/PPC) they even raise an error.
      3640d374
  6. 07 Dec, 2011 4 commits
    • Simon Marlow's avatar
      8b48562e
    • Simon Marlow's avatar
      Improve optimisation in the presence of SCCs (fixes #5363) · eea40328
      Simon Marlow authored
      We had some special cases to handle things like
      
        case (scc c (case E of alts)) of alts'
      
      but it only worked when there was a single scc in the way.  This
      generalises the optimisation to handle multiple sccs and ticks, so
      that we can catch most case-of-case optimisations that would normally
      apply in the absence of profiling.
      
      This fixes the example in #5363, and nofib results (with -prof
      -fprof-auto) show that allocation universally goes down or stays the
      same.
      eea40328
    • Simon Marlow's avatar
      Take into account -fprof-auto-* · c4fb520e
      Simon Marlow authored
      c4fb520e
    • chak@cse.unsw.edu.au.'s avatar
      Add new primtypes 'ArrayArray#' and 'MutableArrayArray#' · 021a0dd2
      chak@cse.unsw.edu.au. authored
      The primitive array types, such as 'ByteArray#', have kind #, but are represented by pointers. They are boxed, but unpointed types (i.e., they cannot be 'undefined').
      
      The two categories of array types —[Mutable]Array# and [Mutable]ByteArray#— are containers for unboxed (and unpointed) as well as for boxed and pointed types.  So far, we lacked support for containers for boxed, unpointed types (i.e., containers for the primitive arrays themselves).  This is what the new primtypes provide.
      
      Containers for boxed, unpointed types are crucial for the efficient implementation of scattered nested arrays, which are central to the new DPH backend library dph-lifted-vseg.  Without such containers, we cannot eliminate all unboxing from the inner loops of traversals processing scattered nested arrays.
      021a0dd2