[GHC] #14226: Common Block Elimination pass doesn't eliminate common blocks
GHC
ghc-devs at haskell.org
Sat Jan 13 22:41:05 UTC 2018
#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 AndreasK):
Replying to [comment:14 bgamari]:
> This should now be resolved.
>
> Rather, I think we could improve the `switch` lowering: currently we
lower this as a chain of branches. I suspect this is the sort of case
where we might benefit from instead using a jump table.
>
> Measuring this idea and, if it pays off, implementing it might be an
interesting project for someone looking to get their hands dirty in the
NCG.
According to the comments in `CmmSwitch.hs` jump tables only make sense
when the gaps between entries are smaller than 7 and the table has at
least 5 elements which isn't the case here.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14226#comment:21>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list