[GHC] #14003: Allow more worker arguments in SpecConstr
GHC
ghc-devs at haskell.org
Thu Jul 20 23:13:03 UTC 2017
#14003: Allow more worker arguments in SpecConstr
-------------------------------------+-------------------------------------
Reporter: choenerzs | Owner: (none)
Type: feature | Status: new
request |
Priority: normal | Milestone: 8.2.2
Component: Compiler | Version: 8.2.1-rc3
Keywords: JoinPoints, | Operating System: Unknown/Multiple
Fusion |
Architecture: | Type of failure: Runtime
Unknown/Multiple | performance bug
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Starting with GHC 8.2 (rc1 -- head) I noticed that the SpecConstr pass
does not always optimize completely with SpecConstr-heavy code.
Setting ```-fmax-worker-args=100``` leads to complete specialization
again.
However, given that code annotated with ```SPEC``` should be optimized
until no more ```SPEC``` arguments are alive, shouldn't
```callToNewPats``` in ```compiler/specialise/SpecConstr.hs``` specialize
*irrespective* of the size of the worker argument list?
Code that actually fails to specialize is fairly large, hence no test case
-- though I have some files with core output showing insufficient
specialization.
(I'd be willing to write a patch for this)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14003>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list