
#10007: Fix misattribution of Cost Centre profiles to lintAnnots -------------------------------------+------------------------------------- Reporter: thoughtpolice | Owner: scpmw Type: bug | Status: merge Priority: high | Milestone: 7.10.1 Component: Profiling | Version: 7.10.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect result | Unknown/Multiple at runtime | Test Case: Blocked By: | Blocking: Related Tickets: #9961 | Differential Revisions: Phab:D616 | Phab:D636 -------------------------------------+------------------------------------- Comment (by scpmw): Well, it's the wrong fix, as far as I'm concerned. Yes, it fixes the erroneous attribution to `lintAnnots`, but only because we change the program's (RTS) cost semantics twice during optimisations, with both instances un-doing each other. This is not guaranteed, see the new test case for `D616`. I also didn't feel it would help the discussion to mention this - but this also doesn't fix rather silly double-annotations on parameters, which (I think) only don't appear because we automatically eliminate repeating cost centres in stacks. If needed, I could produce another test case that demonstrates that. Short version: This is only a band-aid. And as far as those go, I would still prefer `D616`. At least until I have figured out how to *actually* implement `Eval2`, which would fix the whole situation from the RTS end. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10007#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler