[GHC] #14242: Ticks and join points don't play well
#14242: Ticks and join points don't play well -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.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: -------------------------------------+------------------------------------- Currently the presence of ticks appear to inhibit our ability to discover join points as described by this comment in `OccurAnal.occAnal`, {{{#!hs usage_lam = markAllNonTailCalled (markAllInsideLam usage) -- TODO There may be ways to make ticks and join points play -- nicer together, but right now there are problems: -- let j x = ... in tick<t> (j 1) -- Making j a join point may cause the simplifier to drop t -- (if the tick is put into the continuation). So we don't -- count j 1 as a tail call. }}} This causes spurious warnings when compiling with a `DEBUG` compiler and `-g` or profiling enabled. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14242> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#14242: Ticks and join points don't play well -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.2.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): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => patch * milestone: => 8.4.1 Comment: The current logic is arguably far too conservative in the particular case of source notes, which generally shouldn't interfere with optimization. This case is addressed by Phab:D3978. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14242#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#14242: Ticks and join points don't play well -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.2.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): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"12a92fedf8b1997f2e26800929be117d54536b7e/ghc" 12a92fed/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="12a92fedf8b1997f2e26800929be117d54536b7e" OccurAnal: Ensure SourceNotes don't interfere with join-point analysis In general ticks are problematic for join point analysis as described in #14242. However, source notes are intended to be a best-effort annotation which shouldn't interfere with optimization. Special-case these to ensure that tail-call information is still correct, even in the presence of source note ticks. Test Plan: Validate Reviewers: simonpj, austin Reviewed By: simonpj Subscribers: rwbarton, thomie GHC Trac Issues: #14242 Differential Revision: https://phabricator.haskell.org/D3978 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14242#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#14242: Ticks and join points don't play well -------------------------------------+------------------------------------- Reporter: bgamari | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.2.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): Wiki Page: | -------------------------------------+------------------------------------- Changes (by monoidal): * status: patch => new -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14242#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC