1. 07 Nov, 2007 7 commits
  2. 06 Nov, 2007 11 commits
  3. 05 Nov, 2007 5 commits
  4. 25 Jun, 2007 6 commits
  5. 13 Oct, 2006 1 commit
  6. 20 Sep, 2006 2 commits
  7. 17 Sep, 2006 5 commits
  8. 16 Sep, 2006 1 commit
  9. 15 Sep, 2006 1 commit
  10. 05 Nov, 2007 1 commit
    • simonpj@microsoft.com's avatar
      Inline implication constraints · 85e16365
      simonpj@microsoft.com authored
      This patch fixes Trac #1643, where Lennart found that GHC was generating
      code with unnecessary dictionaries.  The reason was that we were getting
      an implication constraint floated out of an INLINE (actually an instance
      decl), and the implication constraint therefore wasn't inlined even 
      though it was used only once (but inside the INLINE).  Thus we were 
      getting:
      
      	ic = \d -> <stuff>
      	foo = _inline_me_ (...ic...)
      
      Then 'foo' gets inlined in lots of places, but 'ic' now looks a bit 
      big.  
      
      But implication constraints should *always* be inlined; they are just
      artefacts of the constraint simplifier.
      
      This patch solves the problem, by adding a WpInline form to the HsWrap
      type. 
      
      85e16365