[GHC] #8774: Transitivity of Auto-Specialization
GHC
ghc-devs at haskell.org
Wed Sep 28 01:11:14 UTC 2016
#8774: Transitivity of Auto-Specialization
-------------------------------------+-------------------------------------
Reporter: crockeea | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
Resolution: | Keywords: Inlining
Operating System: Linux | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #5928, #8668, | Differential Rev(s):
#8099 |
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by crockeea):
Replying to [comment:13 erikd]:
> @crockeea Two quick questions:
>
> 1) The presence of the dictionary is inferred from case expression
matching on `Foo.$fNumQux_$c+` right?
Not quite sure what you're asking, but the dictionaries I see are the
arguments to `Foo.$fNumQux_$c+`, namely `GHC.Num.$fNumInt` and
`Data.Vector.Unboxed.Base.$fUnboxInt`.
>
> 2) What command line are you using to compile this. I'm still having a
bit of trouble reproducing this even with ghc 7.6.3.
>
I'm compiling with `ghc-7.6.3 -ddump-simpl -O2 Main.hs`. With just the
`INLINABLE` pragma on `Foo.plus`, this takes over a minute on my computer.
With the `SPECIALIZE` pragma (with or without the `INLINABLE`), it
completes in 3 seconds.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8774#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list