Suppress binary warnings for bootstrapping as well as stage1.

This was missed when we added binary to the list of boot packages.
But note: the warnings binary are *legitimate* and really should be fixed!

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Include pattern synonyms as AConLikes in the type environment,
even for simplified/boot ModDetails (fixes #9417)
Fix a bug in CSE, for INLINE/INLNEABLE things

Previusly we simply weren't doing CSE at all on things
whose unfolding were not always-active, for reasons explained
in Note [CSE for INLINE and NOINLINE].  But that was bad!
Making something INLNEABLE meant that its RHS was no longer
CSE'd, and that made some nofib programs worse.

And it's entirely unnecessary.  I thoguht it through again,
wrote new comments (under the same Note), and things are
better again.
Comments, white space, and rename "InlineRule" to "stable unfolding"

The "InlineRule" is gone now, so this is just making the comments line
up with the code.  A function does change its name though:
   updModeForInlineRules  -->  updModeForStableUnfoldings
When finding loop breakers, distinguish INLINE from INLINEABLE

Previously INLINE and INLINEABLE were treated identically, but it's
crucial that we don't choose a wrapper (INLINE) as a loop breaker,
when it is mutually recursive with an INLINEABLE worker.
Better specImport discarding message (again)
Give the worker for an INLINABLE function a suitably-phased Activation

See Note [Activation for INLINABLE worker].  This was preventing
Trac #6056 from working.
Finally!  Test Trac #6056
Performance improvement of the compiler itself

This is a result of one of these, or a combination
  002b7a2b * Give the worker for an INLINABLE function a suitably-phased Activation
  ca666b8b * When finding loop breakers, distinguish INLINE from INLINEABLE
  a98c9c5e * Fix a bug in CSE, for INLINE/INLNEABLE things

Some changes are quite big: for bytes_allocated we have
  T6048: 13% below expected
  T5837: 15% below expected
  T3064:  5% below expected

Of course, these might have already been close to their lower
threshold, so perhaps not all the improvement is from here.
But it is good news all the same.
Do not say we cannot when we clearly can
Typos in comments
Fix to bin-package-db for ming32-only code

Patch written by Pali Gabor Janos <pali.gabor@gmail.com>
testsuite: normalise integer library name for T8958

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Some typos
Revert "Comment why the include is necessary"

This reverts commit 15df6d98afb8c3813013c5b97efffe0ba8020d32.
Revert "Make sure that a prototype is included for 'setIOManagerControlFd'"

This reverts commit 7bf49f86a20f3beda0ee5fbea2db64cfef730d74.
Re-export Word from Prelude (re #9531)

The original proposal text can be found at

  http://www.haskell.org/pipermail/libraries/2014-August/023491.html

The proposal passed with a clear majority, and was additionally
confirmed by the core libraries committee.

*Compatibility Note*

Only code that imports `Data.Word` for the sole purpose of using `Word`
*and* requires to be `-Werror`-clean (due to `-fwarn-unused-imports`)
is affected by this change.

In order to write warning-free forward/backward compatible against `base`,
a variant of the following CPP-based snippet can be used:

  -- Starting with base>4.7.0 or GHC>7.8 Prelude re-exports 'Word'
  -- The following is needed, if 'Word' is the *only* entity needed from Data.Word
  #ifdef MIN_VERSION_base
  # if !MIN_VERSION_base(4,7,1)
  import Data.Word (Word)
  # endif
  -- no cabal_macros.h -- fallback to __GLASGOW_HASKELL__
  #elif __GLASGOW_HASKELL__ < 709
  import Data.Word (Word)
  #endif

This also updates the haddock submodule in order to avoid a compile warning
Add `FiniteBits(count{Leading,Trailing}Zeros)`

This exposes the newly added CLZ/CTZ primops from
e0c1767d0ea8d12e0a4badf43682a08784e379c6 (re #9340)
via two new methods `countLeadingZeros` and `countTrailingZeros`
in the `Data.Bits.FiniteBits` class.

The original proposal can be found at

  http://www.haskell.org/pipermail/libraries/2014-August/023567.html

Test Plan: successful validate

Reviewers: ekmett, tibbe

GHC Trac Issues: #9532

Differential Revision: https://phabricator.haskell.org/D158
`M-x delete-trailing-whitespace` & `M-x untabify`...

...some files more or less recently touched by me

[ci skip]
Remove incorrect property in docstring (re #9532)

The property

  countLeadingZeros . negate = const 0

doesn't generally hold and it's not such a useful property to state, as
it simply follows from "sign-bit == most-significant-bit" for FiniteBits
types which use twos-complement representation for negative values, and
even then it breaks down for 0...

TLDR, remove thinko from documentation of `countLeadingZeros`