[GHC] #13873: Adding a SPECIALIZE at a callsite in Main.hs is causing a regression
GHC
ghc-devs at haskell.org
Mon Jul 3 14:16:25 UTC 2017
#13873: Adding a SPECIALIZE at a callsite in Main.hs is causing a regression
-------------------------------------+-------------------------------------
Reporter: jberryman | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.2.2
Component: Compiler | Version: 8.2.1-rc2
Resolution: | Keywords: Specialise
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
I don't have bandwidth to reproduce right now, but I think Matthew is
saying we have
{{{
f :: forall s. State# s -> blah
f = /\s. \(x::State# s). ....(g @s d1 d2 d3)....
}}}
where `g` is an overloaded function, called three dictionary arguments.
But note that `f` is not overloaded, and so will not be auto-specialised.
Somehow, if we specialised `f`, we could specialise `g`.
I don't quite see how this happens. Can you fill in a bit more detail
about what `g` is, and what dictionaries `d1`-`d3` are?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13873#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list