1. 02 Feb, 2011 9 commits
  2. 01 Feb, 2011 2 commits
  3. 27 Jan, 2011 1 commit
  4. 25 Jan, 2011 1 commit
  5. 01 Feb, 2011 3 commits
  6. 31 Jan, 2011 2 commits
    • simonpj@microsoft.com's avatar
      Improve Simplifier and SpecConstr behaviour · 70ad6e6a
      simonpj@microsoft.com authored
      Trac #4908 identified a case where SpecConstr wasn't "seeing" a
      specialisation it should easily get.  The solution was simple: see
      Note [Add scrutinee to ValueEnv too] in SpecConstr.
      Then it turned out that there was an exactly analogous infelicity in
      the mighty Simplifer too; see Note [Add unfolding for scrutinee] in
      Simplify. This fix is good for Simplify even in the absence of the
      SpecConstr change.  (It arose when I moved the binder- swap stuff to
      OccAnall, not realising that it *remains* valuable to record info
      about the scrutinee of a case expression.  The Note says why.
      Together these two changes are unconditionally good.  Better
      simplification, better specialisation. Thank you Max.
    • Simon Marlow's avatar
      fix warning · 209e0935
      Simon Marlow authored
  7. 13 Oct, 2010 1 commit
  8. 19 Jan, 2011 1 commit
  9. 11 Nov, 2010 1 commit
  10. 01 Nov, 2010 1 commit
  11. 20 Aug, 2010 1 commit
  12. 31 Jan, 2011 1 commit
  13. 28 Jan, 2011 2 commits
  14. 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.
  15. 28 Jan, 2011 1 commit
    • simonpj@microsoft.com's avatar
      Fix an egregious strictness analyser bug (Trac #4924) · f1a90f54
      simonpj@microsoft.com authored
      The "virgin" flag was being threaded rather than treated
      like an environment.  As a result, the second and subsequent
      recursive definitions in a module were not getting a
      correctly-initialised fixpoint loop, causing much worse
      strictness analysis results.  Indeed the symptoms in
      Trac #4924 were quite bizarre.
      Anyway, it's easily fixed.  Merge to stable branch.
  16. 27 Jan, 2011 2 commits
    • simonpj@microsoft.com's avatar
      Refine incomplete-pattern checks (Trac #4905) · a0f6d307
      simonpj@microsoft.com authored
      The changes are:
      * New flag -fwarn-incomplete-uni-patterns, which checks for
        incomplete patterns in (a) lambdas, (b) pattern bindings
      * New flag is not implied by -W or -Wall (too noisy; and many
        libraries use incomplete pattern bindings)
      * Actually do the incomplete-pattern check for pattern bindings
        (previously simply omitted)
      * Documentation for new flag
    • Ian Lynagh's avatar
      Fix "make 1" etc following the build system changes · c1e824a2
      Ian Lynagh authored
      The logic is now in mk/compiler-ghc.mk rather than being duplicated in
      ghc/Makefile and compiler/Makefile.
  17. 26 Jan, 2011 7 commits
  18. 24 Jan, 2011 2 commits
  19. 25 Jan, 2011 1 commit
    • simonpj@microsoft.com's avatar
      Split main/GHC into GHC and GhcMake · a79a5319
      simonpj@microsoft.com authored
      There are two things going on in main/GHC.hs.
        * It's the root module of the GHC package
        * It contains lots of stuff for --make
      It is also gigantic (2.7k lines)
      This patch splits it into two
        * GHC.hs is the root module for the GHC package
            (1.3k lines)
        * GhcMake.hs contains the stuff for --make
            (1.4k lines)
      Happily the functional split divided it almost
      exactly in half.
      This is a pure refactoring.  There should be no 
      behavioural change.