Add Note [Dead case binders in -O0]
authorSebastian Graf <sebastian.graf@kit.edu>
Wed, 28 Nov 2018 12:28:29 +0000 (13:28 +0100)
committerSebastian Graf <sebastian.graf@kit.edu>
Wed, 28 Nov 2018 12:28:29 +0000 (13:28 +0100)
commit4c8bf63b78f2fea56a184ef2a40e616f4b8bc59b
tree40b5419f0c7bfe8c4f0951ea26e24456a6ef7a0b
parent8f52ab9223544b756010a7a92ea52fffdf1d1c71
Add Note [Dead case binders in -O0]

After reverting Phab:D5358, Simon (Peyton Jones) asked for a Note
summarising why we want to keep the dead case binder check in `cgCase`.

Summary from mail conversation:

* Phab:D5324 means that we no longer /recompute/ dead-ness of case-binders in
  STG-land

* But TidyPgm preserves dead-ness info (see CoreTidy.tidyIdBndr)

* And so we can take advantage of it to avoid a redundant load. This load
  would be eliminated by CmmSink, but that only happens with -O
compiler/codeGen/StgCmmExpr.hs