[GHC] #13340: Core top-level bindings no longer deduplicated
GHC
ghc-devs at haskell.org
Sat Feb 25 19:32:37 UTC 2017
#13340: Core top-level bindings no longer deduplicated
-------------------------------------+-------------------------------------
Reporter: rwbarton | Owner: (none)
Type: bug | Status: new
Priority: high | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
This module
{{{#!hs
module Two where
f :: Int -> Int
f n = n + 1 + 1
g :: Int -> Int
g n = n + 1 + 1
}}}
used to (in 8.0) optimize to a definition of `g` plus `f = g`. The Common
sub-expression phase noticed `f` and `g` were equal.
That doesn't happen any more in HEAD and we end up with two copies of the
code. The Common sub-expression pass apparently still runs, it just
doesn't succeed in removing one of the bindings.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13340>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list