1. 11 Feb, 2014 3 commits
  2. 10 Feb, 2014 5 commits
    • Joachim Breitner's avatar
      Note [Eta expansion in match] · a4450ece
      Joachim Breitner authored
    • 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.
    • 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.
    • 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").
    • eir@cis.upenn.edu's avatar
  3. 09 Feb, 2014 12 commits
  4. 08 Feb, 2014 1 commit
  5. 07 Feb, 2014 6 commits
  6. 06 Feb, 2014 3 commits
  7. 05 Feb, 2014 2 commits
  8. 04 Feb, 2014 2 commits
  9. 03 Feb, 2014 2 commits
    • Jan Stolarek's avatar
      Eliminate duplicate code in Cmm pipeline · dba9bf67
      Jan Stolarek authored
      End of Cmm pipeline used to be split into two alternative flows,
      depending on whether we did proc-point splitting or not. There
      was a lot of code duplication between these two branches. But it
      wasn't really necessary as the differences can be easily enclosed
      within an if-then-else. I observed no impact of this change on
      compilation performance.
    • Jan Stolarek's avatar
      Document deprecations in Hoopl · 526cbc7a
      Jan Stolarek authored
  10. 02 Feb, 2014 3 commits
  11. 01 Feb, 2014 1 commit