[GHC] #14003: Allow more worker arguments in SpecConstr

GHC ghc-devs at haskell.org
Tue Jul 25 15:45:13 UTC 2017


#14003: Allow more worker arguments in SpecConstr
-------------------------------------+-------------------------------------
        Reporter:  choenerzs         |                Owner:  (none)
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:  8.2.2
       Component:  Compiler          |              Version:  8.2.1-rc3
      Resolution:                    |             Keywords:  JoinPoints,
                                     |  Fusion
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #11565            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 That seems plausible. We could not call `isWorkerSmallEnough` if
 `sc_force` is true.  Would you like to try that?

 If so, we should update this comnent
 {{{
 ForceSpecConstr arguments are spotted in scExpr' and scTopBinds which then
 set
 sc_force to True when calling specLoop. This flag does four things:
   * Ignore specConstrThreshold, to specialise functions of arbitrary size
         (see scTopBind)
   * Ignore specConstrCount, to make arbitrary numbers of specialisations
         (see specialise)
   * Specialise even for arguments that are not scrutinised in the loop
         (see argToPat; Trac #4488)
   * Only specialise on recursive types a finite number of times
         (see is_too_recursive; Trac #5550; Note [Limit recursive
 specialisation])
 }}}
 Now there'd be five things!

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


More information about the ghc-tickets mailing list