
#11781: Improve common sub-expression -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2074 Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata):
Should I land this thing (CSE improvements) now already?
I guess not before you have told me whether this change in T7116 is benign or not: {{{ ==================== Tidy Core ==================== -Result size of Tidy Core = {terms: 32, types: 17, coercions: 0} +Result size of Tidy Core = {terms: 46, types: 23, coercions: 0} -- RHS size: {terms: 2, types: 0, coercions: 0} T7116.$trModule2 :: GHC.Types.TrName @@ -49,7 +49,7 @@ GHC.Types.D# (GHC.Prim.+## x1 x1) } --- RHS size: {terms: 1, types: 0, coercions: 0} +-- RHS size: {terms: 8, types: 3, coercions: 0} dl :: Double -> Double [GblId, Arity=1, @@ -62,7 +62,11 @@ case x of _ [Occ=Dead] { GHC.Types.D# y -> GHC.Types.D# (GHC.Prim.+## y y) }}] -dl = dr +dl = + \ (x :: Double) -> + case x of _ [Occ=Dead] { GHC.Types.D# y -> + GHC.Types.D# (GHC.Prim.+## y y) + } -- RHS size: {terms: 8, types: 3, coercions: 0} fr :: Float -> Float @@ -83,7 +87,7 @@ GHC.Types.F# (GHC.Prim.plusFloat# x1 x1) } --- RHS size: {terms: 1, types: 0, coercions: 0} +-- RHS size: {terms: 8, types: 3, coercions: 0} fl :: Float -> Float [GblId, Arity=1, @@ -96,5 +100,9 @@ case x of _ [Occ=Dead] { GHC.Types.F# y -> GHC.Types.F# (GHC.Prim.plusFloat# y y) }}] -fl = fr +fl = + \ (x :: Float) -> + case x of _ [Occ=Dead] { GHC.Types.F# y -> + GHC.Types.F# (GHC.Prim.plusFloat# y y) + } *** unexpected failure for T7116(normal) }}} That ticket was bout strength reduction, and that is still happening. But it there seems to be some CSE lost. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11781#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler