Improve trimming of auto-rules
authorSimon Peyton Jones <simonpj@microsoft.com>
Fri, 29 Aug 2014 07:06:36 +0000 (08:06 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 29 Aug 2014 09:21:34 +0000 (10:21 +0100)
commit49370cedccc9d51395a6cc3e182b55ce5a50b560
treebe96bfa094047a18fc009d640263686ea8049e0b
parent9072f2f86d2b3405a45c59960779aeeab281e634
Improve trimming of auto-rules

I hadn't got the new function trimAutoRules quite right, so we had
a left-over rule which mentioned a local variable whose binding had
been discarded.  (Result: crash when compiling Haddock.)

This patch merges trimAutoRules into an expanded version of
findExternalRules, gets it right, and adds lots of comments.

See Note [Finding external rules].

And indeed in one regression test we get to trim off more rules
(and hence code) than before.
compiler/main/TidyPgm.lhs
testsuite/tests/simplCore/should_run/T2486.stderr