Add support for byte endian swapping for Word 16/32/64.

  * Exposes bSwap{,16,32,64}# primops
  * Add a new machop: MO_BSwap
  * Use a Stg implementation (hs_bswap{16,32,64}) for other implementation
    in NCG.
  * Generate bswap in X86 NCG for 32 and 64 bits, and for 16 bits, bswap+shr
    instead of using xchg.
  * Generate llvm.bswap intrinsics in llvm codegen.

Authored-by: Vincent Hanquez <tab@snarc.org>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Fix bug in readMVar implementation: keep clean MVars clean.

The readMVar implementation had only partially implemented
a micro-optimization which allows us to avoid adding an MVar
to the mutable list if the MVar was not changed.  However,
this was not applied to the release method on the fast path,
resulting in dirty MVars which were not added to the mutable list.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Sync the list of default warnings with reality; fixes #8060.
On second thoughts, don't document -fwarn-alternative-layout-rule-transitional

I think the alternative layout rule flags are deliberately not
documented at the moment.
Document -fwarn-pointless-pragmas; fixes #8049
Add `:show linker` command to `:help` output
Add `:show imports` to completion table
use prompt2 in `:set +m` mode
Add final remaining bits to fix #7978.
Temporarily disable common block elimination; fixes #8083 for now
Fix a bug in stack layout with safe foreign calls (#8083)

We weren't properly tracking the number of stack arguments in the
continuation of a foreign call.  It happened to work when the
continuation was not a join point, but when it was a join point we
were using the wrong amount of stack fixup.
Whitespace only in deSugar/Desugar.lhs
Remove an unnecessary-looking import
Some release note additions.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Use OrdLists when parsing export lists

No functional changes
Remove redundant parentheses
Whitespace only in basicTypes/Avail.hs
Whitespace only in basicTypes/BasicTypes.lhs
De-orphan a load of Binary instances
Beautify a few Binary instances