Mark non-recursive join lambdas as one-shot
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 1 Mar 2017 01:25:33 +0000 (20:25 -0500)
committerDavid Feuer <David.Feuer@gmail.com>
Wed, 1 Mar 2017 01:25:34 +0000 (20:25 -0500)
commit777b77077f3d6b794f96414a16e904452e1e6aba
tree6b55ef72b5345b7f8922026ee326697d2c71093d
parent6eb52cfc2e31df2561860f43d41766464ccfe8af
Mark non-recursive join lambdas as one-shot

When we have

  join j x y = rhs in ...

we know that the lambdas for 'x' and 'y' are one-shot.
Let's mark them as such!

This doesn't fix a specific bug, but it feels right to me.

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: lukemaurer, thomie

Differential Revision: https://phabricator.haskell.org/D3196
compiler/simplCore/OccurAnal.hs