
#14226: Common Block Elimination pass doesn't eliminate common blocks -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: closed Priority: high | Milestone: 8.4.1 Component: Compiler | Version: 8.2.1 (CodeGen) | Resolution: fixed | Keywords: newcomer 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: | Phab:D3999 -------------------------------------+------------------------------------- Comment (by michalt): Replying to [comment:16 nomeata]:
[...] Should they? Does maybe the `_s3YJ::P64 = _s3YJ::P64;` throw CBE off?
Hmm.. Interesting. I'd expect that with the recent patch from bgamari this should be commoned up. Is this the final cmm or is it the input to `CmmCommonBlockElim`? (asking because sometimes the sinking pass can expose more opportunities for `CmmCommonBlockElim`, but we run sinking pass *after* eliminating common blocks; example: #12915) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14226#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler