Changes to ghc(5) testsuite(3)

Changes to ghc:
commit 80989de947dc7edb55999456d1c1e8c337efc951
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Fri Nov 22 17:13:05 2013 +0000

    Improve the handling of used-once stuff

    Joachim and I are committing this onto a branch so that we can share it,
    but we expect to do a bit more work before merging it onto head.

    Nofib staus:
      - Most programs, no change
      - A few improve
      - A couple get worse (cacheprof, tak, rfib)
    Investigating the "get worse" set is what's holding up putting this
    on head.

    The major issue is this.  Consider

        map (f g) ys

    where f's demand signature looks like

       f :: <L,C1(C1(U))> -> <L,U> -> .

    So 'f' is not saturated.  What demand do we place on g?
    Answer
            C(C1(U))
    That is, the inner C1 should stay, even though f is not saturated.

    I found that this made a significant difference in the demand signatures
    inferred in GHC.IO, which uses lots of higher-order exception handlers.

    I also had to add used-once demand signatures for some of the
    'catch' primops, so that we know their handlers are only called once.

commit 869f69fd4a78371c221e6d9abd69a71440a4679a
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Wed Dec 11 18:19:34 2013 +0000

    Guarding against silly shifts

    This patch was authored by SPJ and extracted from "Improve the handling
    of used-once stuff" by Joachim.

commit 0558911f91ce3433cc3d1d21a43067fa67e2bd79
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Wed Dec 11 18:18:53 2013 +0000

    Assign strictness signatures to primitive operations

    This patch was authored by SPJ, and extracted from "Improve the handling
    of used-once stuff" by Joachim.

commit ba78bf1772c9d695a0ded932eeceed10622d91a4
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Wed Dec 11 18:30:54 2013 +0000

    Do not split void functions

    This is authored by SPJ, and split out out "Improve the handling of
    used-once stuff" by Joachim.

commit 838da6fc74266cf6e561d6ba0cb1c8bd052b4efc
Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Wed Dec 11 18:17:04 2013 +0000

    Some refactoring of Demand and DmdAnal

    This was authored by SPJ and extracted from the "Improve the handling of
    used-once stuff" patch by Joachim.

Changes to testsuite:
commit 8d6c94122aa63e1c74f44f4b5b5895785f8847b3
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Thu Dec 12 14:22:35 2013 +0000

    Update compiler performance values

commit 514494212979ad4abf3e3b4e3256550e9c924175
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Thu Dec 12 12:01:04 2013 +0000

    lazy-bs-alloc improved from oneshotness stuff

commit b2cfd0ebdca9efc8297b8afc491c7ccf71f1a3ea
Author: Joachim Breitner <mail@joachim-breitner.de>
Date:   Thu Dec 12 11:59:33 2013 +0000

    Adjust output to new oneshotness