1. 02 Feb, 2011 1 commit
  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.
      70ad6e6a
    • Simon Marlow's avatar
      fix warning · 209e0935
      Simon Marlow authored
      209e0935
  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.
      889c084e
  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.
      f1a90f54
  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
      a0f6d307
    • 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.
      c1e824a2
  17. 26 Jan, 2011 7 commits
  18. 24 Jan, 2011 2 commits
  19. 25 Jan, 2011 5 commits
    • 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.
      a79a5319
    • simonpj@microsoft.com's avatar
      Comments only · 45bc009d
      simonpj@microsoft.com authored
      45bc009d
    • simonpj@microsoft.com's avatar
      Fix Trac #3717 by making exprOkForSpeculation a bit cleverer · d056dfed
      simonpj@microsoft.com authored
      The main change here is to do with dropping redundant seqs.
      See Note [exprOkForSpeculation: case expressions] in CoreUtils.
      d056dfed
    • simonpj@microsoft.com's avatar
      Improve dataToTag# magic · 5cdc2f1d
      simonpj@microsoft.com authored
      dataToTag# is a bit unsatisfactory because it requires
      its argument to be evaluated, and we don't have a good
      way to enforce that. This patch adds some comments, and
      makes exprOkForSpeculation a bit less picky in the case
      of dataToTag# (since the argument may, in fact, not be
      eval'd).
      5cdc2f1d
    • simonpj@microsoft.com's avatar
      Fix Trac #4917: try a bit harder to unify on-the-fly · 1add108e
      simonpj@microsoft.com authored
      This is generally a modest improvement but, more important,
      it fixes a "unify-under-forall" problem.  See Note [Avoid deferring].
      
      There's still a lurking unsatisfactory-ness in that we can't
      defer arbitrary constraints that are trapped under a forall.
      1add108e
  20. 24 Jan, 2011 1 commit
    • chak@cse.unsw.edu.au.'s avatar
      DPH options updated · 9e6e96bd
      chak@cse.unsw.edu.au. authored
      - '-Odph' is now '-O2 -fsimplifier-phases=3 -fsimplifier-iterations=20'
      - The new option '-fdph-none' is the default; it indicates that no DPH
        backend is selected and is the only valid option if the DPH libraries
        are not installed.  If vectorisation is attempted with -fdph-none a
        suitable error message is generated.
      - Hence, '-fdph-par' (or '-fdph-seq') needs to be explicitly selected
        when using vectorisation and when linking vectorised code.  (There
        seems to be no elegant way to avoid that.)
      9e6e96bd
  21. 23 Jan, 2011 3 commits