#1763: dictionaries in GHC.Float not being inlined
-----------------------+----------------------------------------------------
  Reporter:  simonmar  |          Owner:  simonpj   
      Type:  bug       |         Status:  new       
  Priority:  normal    |      Milestone:  6.8 branch
 Component:  Compiler  |        Version:  6.6.1     
  Severity:  normal    |       Keywords:            
Difficulty:  Unknown   |             Os:  Unknown   
  Testcase:            |   Architecture:  Unknown   
-----------------------+----------------------------------------------------
 Some dictionaries exported by `GHC.Float` are not inlined, because they
 are being marked as loop breakers, e.g. `GHC.Float.$f4`.  This makes
 `x2n1` in nofib much slower, and possibly others.

 One reason this happens is that constructor applications are beaten by (a)
 inline candidates and (b) bindings with RULES in `OccurAnal.score`.

 Simon & I addressed (a) by changing it so that normal inline candidates
 are now scored lower than constructor applications, but wrappers are
 scored much higher.  This unfortunately doesn't fix `GHC.Float`.  If we
 also make bindings with RULEs score lower than constructor applications,
 then the compiler goes into a loop when compiling `Data.Traversable`.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1763>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to