1. 04 Apr, 2017 1 commit
    • David Feuer's avatar
      Revert "Make raiseIO# produce topRes" · e83af07e
      David Feuer authored
      This reverts commit da4687f6.
      
      It's not entirely trivial to clean up the dead code this patch
      introduced. In particular, when we see
      
      ```
      case raiseIO# m s of
        s' -> e
      ```
      
      we want to know that `e` is dead. For scrutinees that are properly
      bottom (which we don't want to consider `raiseIO# m s` to be, this
      is handled by rewriting `bot` to `case bot of {}`. But if we do
      that for `raiseIO#`, we end up with
      
      ```
      case raiseIO# m s of {}
      ```
      
      which looks a lot like bottom and could confuse demand analysis.
      I think we need to wait with this change until we have a more
      complete story.
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3413
      e83af07e
  2. 03 Apr, 2017 8 commits
  3. 02 Apr, 2017 18 commits
  4. 01 Apr, 2017 9 commits
  5. 31 Mar, 2017 4 commits
    • rwbarton's avatar
      Fix space leaks in simplifier (#13426) · e13419c5
      rwbarton authored
      The Join points commit (8d5cf8bf) introduced a space leak
      somewhere in the simplifier. The extra strictness added in this commit
      fixes the leak. Unfortunately I don't really understand the details.
      
      Unfortunately, the extra strictness appears to result in more overall
      allocations in some cases, even while the peak heap size decreases in others.
      
      Test Plan: harbormaster
      
      Reviewers: austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3399
      e13419c5
    • Ben Gamari's avatar
      Clean up coreView/tcView. · 6575f4b6
      Ben Gamari authored
      In Core, Constraint should be considered fully equal to
      TYPE LiftedRep, in all ways. Accordingly, coreView should
      unwrap Constraint to become TYPE LiftedRep. Of course, this
      would be a disaster in the type checker.
      
      So, where previously we used coreView in both the type checker
      and in Core, we now have coreView and tcView, which differ only
      in their treatment of Constraint.
      
      Historical note: once upon a past, we had tcView distinct from
      coreView. Back then, it was because newtypes were unwrapped in
      Core but not in the type checker. The distinction is back, but
      for a different reason than before.
      
      This had a few knock-on effects:
      
       * The Typeable solver must explicitly handle Constraint to ensure
         that we produce the correct evidence.
      
       * TypeMap now respects the Constraint/Type distinction
      
      Finished by: bgamari
      
      Test Plan: ./validate
      
      Reviewers: simonpj, austin, bgamari
      
      Reviewed By: simonpj
      
      Subscribers: rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D3316
      6575f4b6
    • Simon Peyton Jones's avatar
      Refactor simplExpr (Type ty) · 29645274
      Simon Peyton Jones authored
      This small refactoring, provoked by comment:18 on Trac #13426,
      makes it so that simplExprF never gets a (Type ty) expression to
      simplify, which in turn means that calls to exprType on its argument
      will always succeed.
      
      No change in behaviour.
      29645274
    • Joachim Breitner's avatar
      Disable bogus lint checks about levity polimorphic coerions · 03c7dd09
      Joachim Breitner authored
      These checks, introduced in cea71418
      hugely inflated build logs, which incapitated perf.haskell.org.
      
      According to Richard, the checks are useless and wrong, and that Ben
      plans to investigate.
      (https://phabricator.haskell.org/rGHCcea7141851ce653cb20207da3591d09e73fa396d#64647)
      
      Until that happens, I remove them from the code.
      03c7dd09