Whitespaces and comment formatting
Optimize self-recursive tail calls

This patch implements loopification optimization. It was described
in "Low-level code optimisations in the Glasgow Haskell Compiler" by
Krzysztof Woś, but we use a different approach here. Krzysztof's
approach was to perform optimization as a Cmm-to-Cmm pass. Our
approach is to generate properly optimized tail calls in the code
generator, which saves us the trouble of processing Cmm. This idea
was proposed by Simon Marlow. Implementation details are explained
in Note [Self-recursive tail calls].

Performance of most nofib benchmarks is not affected. There are
some benchmarks that show 5-7% improvement, with an average improvement
of 2.6%. It would require some further investigation to check if this
is related to benchamrking noise or does this optimization really
help make some class of programs faster.

As a minor cleanup, this patch renames forkProc to forkLneBody.
It also moves some data declarations from StgCmmMonad to
StgCmmClosure, because they are needed there and it seems that
StgCmmClosure is on top of the whole StgCmm* hierarchy.
Update submodules

I didn't notice that rebase did not update submodules. Fixing now.
Revert "Update submodules"

This reverts commit 6df74382986fad6d9132e03e1f19303be8f19672.
Display the full type environment when reporting type holes

This fixes Trac #8191.

The patch also adds and documents a new flag -fmax-relevant-bindings=N
which lets you control how many bindings in the type environment are shown.
Improve debug error message for applyTypeToArgs
Improve TcSimplify.approximateWC, fixing Trac #8155

See Note [ApproximateWC]
Refactor to avoid gratuitous DEBUG warning
Improve docs for -XNegativeLiterals
simplified the .hi format and added the -flate-dmd-anal flag (fixes #7782)

cf http://ghc.haskell.org/trac/ghc/wiki/LateDmd
Document :kind! in ghci built-in help

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Check for integer overflow in osGetMBlocks

Fixes Trac #5188.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Paranoid integer overflow check in my_mmap

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Paranoid integer overflow check in osGetMBlocks

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Revert "Paranoid integer overflow check in osGetMBlocks"

This reverts commit 1247dff7b852d45dc5006ae8be33ac991cc76c74.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Revert "Paranoid integer overflow check in my_mmap"

This reverts commit 1ce65edbff90fc8103062a1f94258ecc0c682309.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Revert "Check for integer overflow in osGetMBlocks"

This reverts commit 48865521de6638240819b3979edbb3d33401dc8e.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Remove some redundancy.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Add -fwarn-overloaded-literals to release notes.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Add release notes about -dynamic-too

See #8181.

Signed-off-by: Austin Seipp <aseipp@pobox.com>