[GHC] #14226: Common Block Elimination pass doesn't eliminate common blocks

GHC ghc-devs at haskell.org
Sun Feb 4 01:35:55 UTC 2018


#14226: Common Block Elimination pass doesn't eliminate common blocks
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  bgamari
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  8.2.1
  (CodeGen)                          |             Keywords:  newcomer,
      Resolution:                    |  CodeGen
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #9157, #14754     |  Differential Rev(s):  Phab:D3973,
       Wiki Page:                    |  Phab:D3999
-------------------------------------+-------------------------------------

Comment (by Ben Gamari <ben@…>):

 In [changeset:"50adbd7c5fe5894d3e6e2a58b353ed07e5f8949d/ghc"
 50adbd7c/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="50adbd7c5fe5894d3e6e2a58b353ed07e5f8949d"
 cmm: Revert more aggressive CBE due to #14226

 Trac #14226 noted that the C-- CBE pass frequently fails to
 common up semantically identical blocks due to the differences in local
 register naming. These patches fixed this by making the pass consider
 equality up to alpha-renaming.

 However, the new logic failed to consider the possibility that local
 register naming *may* matter across multiple blocks. This lead to the
 regression #14754. I'll need to do a bit of thinking on a proper
 solution to this but in the meantime I'm reverting all four patches.

 This reverts commit a27056f9823f8bbe2302f1924b3ab38fd6752e37.
 This reverts commit 6f990c54f922beae80362fe62426beededc21290.
 This reverts commit 9aa73892e10e90a1799b9277da593e816a827364.
 This reverts commit 7920a7d9c53083b234e060a3e72f00b601a46808.
 }}}

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


More information about the ghc-tickets mailing list