[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