[GHC] #7198: New codegen more than doubles compile time of T3294
GHC
ghc-devs at haskell.org
Wed Jun 22 18:29:01 UTC 2016
#7198: New codegen more than doubles compile time of T3294
-------------------------------------+-------------------------------------
Reporter: simonmar | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.4.2
(CodeGen) |
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #4258 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by michalt):
Right, that makes sense - I think I made a wrong assumption that always
put the value of `node` (`R1`) register also into a local register (that's
what was happening in all my experiments). But that's probably not the
case in general (which would invalidate the stored memory loads). Thanks
for explanations!
As for sinking everything later, as I far as I understand, this ticket is
about trying to avoid generating so much Cmm even if it would get sinked
later on (because it hurts compile time and sinking pass is not run
actually on `-O0`).
In any way, I agreed that this might not be the best idea if the free
variables are reused multiple times. I'll keep poking around and ping this
issue once I have a better idea :-) (or someone else comes up with one)
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7198#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list