
#14951: SpecContsr needs two runs when one should suffice -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: SpecConstr Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #14844 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata):
potentially little more bloat for every non-recursive binding.
It’s not just non-recursive bindings. It’s gonna bloat * every binding * that has interesting calls * that itself calls a local function * which itself is being specialized * and where the specialization of the inner function match the calls to the outer * but matches them only partially (the case where they match completely is the one we are interested in). which seems pretty narrow to me.
Also depending on how far you are with your changes to SpecConstr, this could be simpler.
They were pretty simple it needs just a bit more cleanup, see [https://github.com/ghc/ghc/compare/wip/T14951 wip/T14951]. I am basically waiting for perf.haskell.org to report the results. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14951#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler