1. 05 Sep, 2016 1 commit
    • Facundo Domínguez's avatar
      Don't ignore addTopDecls in module finalizers. · 71dd6e44
      Facundo Domínguez authored
      Summary:
      Module finalizer could call addTopDecls, however, the declarations
      added in this fashion were ignored. This patch makes sure to rename,
      type check and incorporate this declarations.
      
      Because a declaration may include a splice which calls addModFinalizer,
      the list of finalizers is repeteadly checked after adding declarations
      until no more finalizers remain.
      
      Test Plan: ./validate
      
      Reviewers: bgamari, goldfire, simonpj, austin
      
      Reviewed By: bgamari, simonpj
      
      Subscribers: simonmar, mboes, thomie
      
      Differential Revision: https://phabricator.haskell.org/D2505
      
      GHC Trac Issues: #12559
      71dd6e44
  2. 04 Sep, 2016 2 commits
  3. 02 Sep, 2016 1 commit
  4. 01 Sep, 2016 6 commits
  5. 31 Aug, 2016 8 commits
  6. 30 Aug, 2016 3 commits
  7. 29 Aug, 2016 1 commit
  8. 26 Aug, 2016 2 commits
  9. 25 Aug, 2016 2 commits
    • Joachim Breitner's avatar
      DmdAnal: Testcase about splitFVs and dmdFix abortion · d6fd2e37
      Joachim Breitner authored
      Any variable with useful information (strict or used-once) will not be
      included in lazy_fv (according to splitFVs). If we now also remove them
      from the strictness signatures, their uses are not recorded anywhere –
      and then probably considered absent.
      d6fd2e37
    • Joachim Breitner's avatar
      DmdAnal: Add a final, safe iteration · 8d92b88d
      Joachim Breitner authored
      this fixes #12368.
      
      It also refactors dmdFix a bit, removes some redundancies (such as
      passing around an strictness signature right next to an id, when that id
      is guaranteed to have been annotated with that strictness signature).
      
      Note that when fixed-point iteration does not terminate, we
      conservatively delete their strictness signatures (set them to nopSig).
      But this loses the information on how its strict free variables are
      used!
      
      Lazily used variables already escape via lazy_fvs. We ensure that in the
      case of an aborted fixed-point iteration, also the strict variables are
      put there (with a conservative demand of topDmd).
      
      Differential Revision: https://phabricator.haskell.org/D2392
      8d92b88d
  10. 23 Aug, 2016 3 commits
  11. 22 Aug, 2016 1 commit
  12. 21 Aug, 2016 6 commits
  13. 17 Aug, 2016 3 commits
  14. 12 Aug, 2016 1 commit