Small changes to expression sizing in CoreUnfold
authorSimon Peyton Jones <simonpj@microsoft.com>
Mon, 27 Feb 2017 22:14:32 +0000 (17:14 -0500)
committerBen Gamari <ben@smart-cactus.org>
Tue, 28 Feb 2017 15:56:07 +0000 (10:56 -0500)
commitc662d41e2006f5a45619d40d2369b24642348f1a
treebb7a771b5b21cbc2ca26d3536fce3f92ceaa4cda
parentd0508ef001e9c93920f6eb066cab5e79041cb886
Small changes to expression sizing in CoreUnfold

The only significant change here is that

   case e of {}

should be treated like 'e', rather than like a case expression.
We don't push a return address, for example, since 'e' is sure to
diverge.

I forget why I did this; but it will make these empty-case expressions
(which are only there to satisfy the type checker) cost-free.

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D3204
compiler/coreSyn/CoreUnfold.hs