[GHC] #8905: Function arguments are always spilled/reloaded if scrutinee is already in WHNF
GHC
ghc-devs at haskell.org
Mon Mar 17 14:30:33 UTC 2014
#8905: Function arguments are always spilled/reloaded if scrutinee is already in
WHNF
--------------------------------------------+------------------------------
Reporter: tibbe | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.9
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime performance bug | Unknown/Multiple
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by simonmar):
Oh, I just remembered one thing: when we are splitting proc points, then
the "faster" sequence is actually worse because it generates two separate
proc points, one for the call-return and one for the joint point. If we
always do the copyout, then the call-return can be the join point too,
which means we only need one proc point.
However, we now don't generate proc points (when using the NCG), so we can
probably use the faster sequence with only a small increase in code size.
Someone needs to measure. And figure out whether we still want to do this
when using LLVM or not.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8905#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list