
#14226: Common Block Elimination pass doesn't eliminate common blocks -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: patch Priority: high | Milestone: 8.4.1 Component: Compiler | Version: 8.2.1 (CodeGen) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #9157 | Differential Rev(s): Phab:D3973 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Ben I forgot to mention this. In `CmmExpr` you'll find `foldLocalRegsDefd`, which is, I think, precisely what you need to answer the question "which local regs does this node define". It would be much better to use it than to duplicate the logic into `hash_node` and `eqMiddleWith`. Might you look at doing that? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14226#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler