
#11731: Simplifier: Inlining trivial let can lose sharing -------------------------------------+------------------------------------- Reporter: nomeata | Owner: Type: bug | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 8.1 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:D2073 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj):
One clear implementation would have been to adjust the calls to `setIdDemandInfo` in `DmdAnal`, but that would go wrong because of the Cunning Plan with fixed-point iteration, where later iterations use the existing annotations.
Well imagine that the demand analyser simply NEVER attributed single-use to anything; e.g. `mkOnceUsedDmd` returned `Use Many ...`. Then we'd get no useful use-once info from the analyser so we wouldn't need to erase it. Not sure if it's worth it. There are other occurrence of the string `Use One` in `Demand`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11731#comment:36 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler