OccurAnal: Ensure SourceNotes don't interfere with join-point analysis
authorBen Gamari <bgamari.foss@gmail.com>
Tue, 19 Sep 2017 15:16:55 +0000 (11:16 -0400)
committerBen Gamari <ben@smart-cactus.org>
Tue, 19 Sep 2017 17:37:46 +0000 (13:37 -0400)
commit12a92fedf8b1997f2e26800929be117d54536b7e
tree78456279bfcfffcd9d3eeb8ac4f96a3d9c22390a
parent8b007abbeb3045900a11529d907a835080129176
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
compiler/simplCore/OccurAnal.hs