
#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