Refactor WorkWrap, get rid of worthSplittingArgDmd
authorJoachim Breitner <mail@joachim-breitner.de>
Thu, 16 Jan 2014 14:42:31 +0000 (14:42 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Thu, 16 Jan 2014 16:49:19 +0000 (16:49 +0000)
commit7cdf141d7234992466f0ce790e6659c859568783
tree1b20ed70a2ac1292bbbc0a32b9d05915f8385280
parentab74d75d029cdbbb9215b48f1611259fe4d7dd19
Refactor WorkWrap, get rid of worthSplittingArgDmd

Instead of first checking whether splitting is useful, and then firing
up the worker-wrapper-machinery, which will do the same checks again, we
now simply generate a worker and wrapper, and while doing so keep track
of whether what we did was in any way useful.

So now there is only one place left where we decide whether we want to
do w/w, and that place has access to more information, in particular the
actual types at hand.
compiler/basicTypes/Demand.lhs
compiler/stranal/WorkWrap.lhs
compiler/stranal/WwLib.lhs