[GHC] #12808: For primitive (Addr#) operations, Loop Invariant Code Flow not lifted outside the loop...

GHC ghc-devs at haskell.org
Fri Nov 11 09:16:26 UTC 2016


#12808: For primitive (Addr#) operations, Loop Invariant Code Flow not lifted
outside the loop...
-------------------------------------+-------------------------------------
        Reporter:  GordonBGood       |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 > You can see that the STG code just reflects the original Haskell source
 code and that the faulty register initialization has not yet been dropped
 down to within the loop(s), so the problem is not here. The problem is in
 the generation of the first CMM

 Aha!  Could you possibly make the tiniest possible example that
 illustrates precisely this point. You can motivate its importance by this
 thread, but in thinking about how to fix it, it's MUCH easier to grok a
 small example.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12808#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list