1. 24 Nov, 2009 3 commits
  2. 23 Nov, 2009 1 commit
  3. 20 Nov, 2009 5 commits
  4. 19 Nov, 2009 4 commits
  5. 12 Nov, 2009 1 commit
  6. 19 Nov, 2009 5 commits
    • simonpj@microsoft.com's avatar
      Remove the (very) old strictness analyser · 2662dbc5
      simonpj@microsoft.com authored
      I finally got tired of the #ifdef OLD_STRICTNESS stuff.  I had been
      keeping it around in the hope of doing old-to-new comparisions, but
      have failed to do so for many years, so I don't think it's going to
      happen.  This patch deletes the clutter.
      2662dbc5
    • simonpj@microsoft.com's avatar
      Make INLINE warning more precise · c8ef1c4a
      simonpj@microsoft.com authored
      c8ef1c4a
    • simonpj@microsoft.com's avatar
      Implement -fexpose-all-unfoldings, and fix a non-termination bug · 6a944ae7
      simonpj@microsoft.com authored
      The -fexpose-all-unfoldings flag arranges to put unfoldings for *everything*
      in the interface file.  Of course,  this makes the file a lot bigger, but
      it also makes it complete, and that's great for supercompilation; or indeed
      any whole-program work.
      
      Consequences:
        * Interface files need to record loop-breaker-hood.  (Previously,
          loop breakers were never exposed, so that info wasn't necessary.)
          Hence a small interface file format change. 
      
        * When inlining, must check loop-breaker-hood. (Previously, loop
          breakers didn't have an unfolding at all, so no need to check.)
      
        * Ditto in exprIsConApp_maybe.  Roman actually tripped this bug, 
          because a DFun, which had an unfolding, was also a loop breaker
      
        * TidyPgm.tidyIdInfo must be careful to preserve loop-breaker-hood
      
      So Id.idUnfolding checks for loop-breaker-hood and returns NoUnfolding
      if so. When you want the unfolding regardless of loop-breaker-hood, 
      use Id.realIdUnfolding.
      
      I have not documented the flag yet, because it's experimental.  Nor
      have I tested it thoroughly.  But with the flag off (the normal case)
      everything should work.
      6a944ae7
    • simonpj@microsoft.com's avatar
      Re-implement the binder-swap stuff in OccurAnal · c93e8323
      simonpj@microsoft.com authored
      This is a pretty big patch, but it has a very local effect.
      It affects only the binder-swap mechanism in OccurAnal, which
      was not working well becuase it's more subtle than I'd realised
      (See Note [getProxies is subtle]).  I think this does a much
      better job.
      c93e8323
    • simonpj@microsoft.com's avatar
      Try harder not to make DFuns into loop breakers · 522c1e96
      simonpj@microsoft.com authored
      See Note [DFuns should not be loop breakers]
      522c1e96
  7. 17 Nov, 2009 1 commit
  8. 19 Nov, 2009 7 commits
  9. 18 Nov, 2009 5 commits
  10. 17 Nov, 2009 3 commits
  11. 14 Nov, 2009 5 commits