1. 05 Aug, 2012 6 commits
  2. 02 Aug, 2012 1 commit
    • Simon Marlow's avatar
      Explicitly share some return continuations · 6ede0067
      Simon Marlow authored
      Instead of relying on common-block-elimination to share return
      continuations in the common case (case-alternative heap checks) we do
      it explicitly.  This isn't hard to do, is more robust, and saves some
      compilation time.  Full commentary in Note [sharing continuations].
      6ede0067
  3. 30 Jul, 2012 1 commit
    • 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
  4. 26 Jul, 2012 1 commit
  5. 24 Jul, 2012 2 commits
  6. 20 Jul, 2012 2 commits
  7. 18 Jul, 2012 2 commits
  8. 16 Jul, 2012 5 commits
  9. 13 Jul, 2012 1 commit
  10. 11 Jul, 2012 1 commit
  11. 05 Jul, 2012 1 commit
  12. 04 Jul, 2012 1 commit
  13. 02 Jul, 2012 1 commit
    • Simon Marlow's avatar
      -package P was loading all versions of P in GHCi (#7030) · 62164cf5
      Simon Marlow authored
      -package P means "the latest version of P" if multiple versions are
      installed.  It was working as advertised, but we were
      eagerly *linking* all versions of P, which might cause an error if the
      package has some C code, because we can't link multiple instances of
      the same symbol.
      62164cf5
  14. 27 Jun, 2012 1 commit
    • Simon Peyton Jones's avatar
      Add silent superclass parameters (again) · aa1e0976
      Simon Peyton Jones authored
      Silent superclass parameters solve the problem that
      the superclasses of a dicionary construction can easily
      turn out to be (wrongly) bottom.  The problem and solution
      are described in
         Note [Silent superclass arguments] in TcInstDcls
      
      I first implemented this fix (with Dimitrios) in Dec 2010, but removed
      it again in Jun 2011 becuase we thought it wasn't necessary any
      more. (The reason we thought it wasn't necessary is that we'd stopped
      generating derived superclass constraints for *wanteds*.  But we were
      wrong; that didn't solve the superclass-loop problem.)
      
      So we have to re-implement it.  It's not hard.  Main features:
      
        * The IdDetails for a DFunId says how many silent arguments it has
      
        * A DFunUnfolding describes which dictionary args are
          just parameters (DFunLamArg) and which are a function to apply
          to the parameters (DFunPolyArg).  This adds the DFunArg type
          to CoreSyn
      
        * Consequential changes to IfaceSyn.  (Binary hi file format changes
          slightly.)
      
        * TcInstDcls changes to generate the right dfuns
      
        * CoreSubst.exprIsConApp_maybe handles the new DFunUnfolding
      
      The thing taht is *not* done yet is to alter the vectoriser to
      pass the relevant extra argument when building a PA dictionary.
      aa1e0976
  15. 26 Jun, 2012 1 commit
  16. 25 Jun, 2012 3 commits
  17. 22 Jun, 2012 2 commits
    • 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
    • Ian Lynagh's avatar
      Remove 'on' from Util · 41a50207
      Ian Lynagh authored
      We can now rely on it being available from Data.Function
      41a50207
  18. 20 Jun, 2012 3 commits
  19. 18 Jun, 2012 5 commits