[GHC] #2598: Avoid excessive specialisation in SpecConstr

GHC ghc-devs at haskell.org
Fri Dec 5 15:29:09 UTC 2014


#2598: Avoid excessive specialisation in SpecConstr
-------------------------------------+-------------------------------------
              Reporter:  simonpj     |            Owner:
                  Type:  feature     |           Status:  new
  request                            |        Milestone:  7.10.1
              Priority:  lowest      |          Version:  6.8.3
             Component:  Compiler    |         Keywords:
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Unknown
  Unknown/Multiple                   |       Blocked By:
       Type of failure:              |  Related Tickets:
  None/Unknown                       |
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by thomie):

 Replying to [comment:17 morabbin]:
 > Is this moot now?

 The excessive specializations still show up with `-fspec-constr-count`
 greater than 5. The default is 3, and was introduced in commit
 e5adcaf845207c73da65cb44cff4ef83b76dd4a9. I believe this ticket is about
 coming up with a better heuristic.

 {{{
 Author: simonpj at microsoft.com <unknown>
 Date:   Thu Mar 6 12:00:04 2008 +0000

     Improve SpecConstr for local bindings: seed specialisation from the
 calls

     ...

       * New flag -fspec-constr-count=N sets the maximum number of
 specialisations
         for any single function to N.  -fno-spec-constr-count removes the
 limit.

     ...
 }}}


 This is the command I used to test:
 {{{
 ghc DropComment.hs -O -fspec-constr -ddump-simpl -fspec-constr-count=6
 }}}

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


More information about the ghc-tickets mailing list