[GHC] #12979: -fspecialise-aggressively is not documented
GHC
ghc-devs at haskell.org
Thu Dec 15 20:36:56 UTC 2016
#12979: -fspecialise-aggressively is not documented
-------------------------------------+-------------------------------------
Reporter: mpickering | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords: newcomer
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by danharaj):
The relevant documentation seems to be:
{{{
Note [Specialise imported INLINABLE things]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What imported functions do we specialise? The basic set is
* DFuns and things with INLINABLE pragmas.
but with -fspecialise-aggressively we add
* Anything with an unfolding template
Trac #8874 has a good example of why we want to auto-specialise DFuns.
We have the -fspecialise-aggressively flag (usually off), because we
risk lots of orphan modules from over-vigorous specialisation.
However it's not a big deal: anything non-recursive with an
unfolding-template will probably have been inlined already.
}}}
I have experimented with using this flag too, but it didn't do much for my
use case beyond `-fexpose-all-unfoldings` and generous use of `INLINABLE`.
As I understand it, instead I could use `-fexpose-all-unfoldings` and
`-fspecialise-aggressively` and need not worry about putting `INLINABLE`
annotations on my declarations. Is that correct?
By the way, it is really brutal on compilation times!
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12979#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list