1. 17 Feb, 2014 13 commits
  2. 13 Feb, 2014 8 commits
  3. 11 Feb, 2014 8 commits
  4. 10 Feb, 2014 5 commits
    • Joachim Breitner's avatar
      Note [Eta expansion in match] · a4450ece
      Joachim Breitner authored
      a4450ece
    • Joachim Breitner's avatar
      Update test cases due to call arity · 393ea739
      Joachim Breitner authored
      Some nice improvements on already succeeding test cases (#876, #7954
      and #4267)
      
      Test #149 needed a little change, lest call arity causes a allocation
      change that we do not want to test here.
      393ea739
    • Joachim Breitner's avatar
      Add a unit test for CallArity · 9bc82656
      Joachim Breitner authored
      This also sets precedence for testing internals of GHC directly, i.e.
      without trying to come up with Haskell code and observable effects.
      Let's see how that goes.
      
      I put all the tests (including those where the analysis could do better)
      in one file because starting the GHC API is quite slow.
      9bc82656
    • Joachim Breitner's avatar
      Implement CallArity analysis · cdceadf3
      Joachim Breitner authored
      This analysis finds out if a let-bound expression with lower manifest
      arity than type arity is always called with more arguments, as in that
      case eta-expansion is allowed and often viable. The analysis is very
      much tailored towards the code generated when foldl is implemented via
      foldr; without this analysis doing so would be a very bad idea!
      
      There are other ways to improve foldr/builder-fusion to cope with foldl,
      if any of these are implemented then this step can probably be moved to
      -O2 to save some compilation times. The current impact of adding this
      phase is just below +2% (measured running GHC's "make").
      cdceadf3
    • eir@cis.upenn.edu's avatar
      8e303d72
  5. 09 Feb, 2014 6 commits