[GHC] #4941: SpecConstr generates functions that do not use their arguments

GHC cvs-ghc at haskell.org
Thu Mar 21 11:46:30 CET 2013


#4941: SpecConstr generates functions that do not use their arguments
---------------------------------+------------------------------------------
    Reporter:  simonpj           |       Owner:                         
        Type:  task              |      Status:  new                    
    Priority:  normal            |   Milestone:  _|_                    
   Component:  Compiler          |     Version:  7.0.1                  
    Keywords:                    |          Os:  Unknown/Multiple       
Architecture:  Unknown/Multiple  |     Failure:  Runtime performance bug
  Difficulty:                    |    Testcase:                         
   Blockedby:                    |    Blocking:                         
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by nfrisby):

 Replying to [comment:20 nfrisby]:
 > I'm investigating nucleic2 at the moment; it's changing something
 currently not specifically tracked by ticky, so I'm resurrecting more
 counters. There's nothing obvious to me in the STG, at least.

 It's actually pretty clear in the STG. A let at the entry to
 $w$wvar_most_distant_atom with 12 free Float# vars gets inlined into
 numerous thunks, at least 24 (25?) of which are allocated all at once. In
 the CMM `Hp = Hp + 1376` becomes `Hp = Hp + 3576`. Some arithmetic with
 these numbers just about covers the reported ticky difference for
 $w$wvar_most_distant_atom.

 Needs more inspection (distinct from this ticket... sorry), though this
 seems a bit of a corner case: arity=40 and the involved state type uses
 record types with numerous non-strict fields of type Float. I'll record it
 with the ticket I'm soon making for the late demand analysis pass.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4941#comment:21>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list