
Crumbs. I see that you are doing an entire pass of the program to erase
#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: | -------------------------------------+------------------------------------- Changes (by nomeata): * differential: Phab:D2064 => Phab:D2073 Comment: this info. That does seem like overkill, to remove info that is never examined anyway. I'd much rather not do this. Agreed, I reverted it; the final result (with Note) is now in Phab:D2073. I did look at the worker/wrapper module, but found that it would be quite ugly to do it there. For example, clear “In this case do nothing” code paths would have to turn to “In this case, do nothing (besides this change to all binders that we happen to do here).” 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. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11731#comment:35 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler