Unbreak build.
refactor to fix 80column overflow
panic message fix
interruptible() was not returning true for BlockedOnSTM (#9379)

Summary:
There's an knock-on fix in HeapStackCheck.c which is potentially
scary, but I'm pretty confident is OK.  See comment for details.

Test Plan:
I've run all the STM
tests I can find, including libraries/stm/tests/stm049 with +RTS -N8
and some of the constants bumped to make it more of a stress test.

Reviewers: hvr, rwbarton, austin

Subscribers: simonmar, relrod, ezyang, carter

Differential Revision: https://phabricator.haskell.org/D104

GHC Trac Issues: #9379
Fix reference to note
update comment
add a comment
A panic in CmmBuildInfoTables.bundle shouldn't be a panic (#9329)

Summary:
This code needs more comments, but I believe this is safe.  By
definition I can't have broken anything that was working by turning a
panic into a non-panic anyway.

Test Plan: validate

Reviewers: hvr, simonpj, austin

Subscribers: simonmar, relrod, ezyang, carter

Differential Revision: https://phabricator.haskell.org/D105

GHC Trac Issues: #9329
Improve the desugaring of RULES, esp those from SPECIALISE pragmas

In the code for Trac #8331 we were not getting a complaint, but
we *were* getting a terrible (and virtually useless) RULE, looking
like
   useAbstractMonad (complicated-dictionary-expresion) = $fuseAbstractMonad
where we wanted
   useAbstractMonad d = $fuseAbstractMonad

This commit improves the desugaring algorithm.  More comments
explain; see Note [Drop dictionary bindings on rule LHS]
Bump haddock.base max_bytes_used

It has reliably increased with commit 1ae5fa45, and has been stable
since then, so it does not seem to be a fluke. I did not investigate why
that commit might have increased this value.
[backpack] More revisions to various pieces.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Two new executables to ignore.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Fix-up to d4d4bef2 'Improve the desugaring of RULES'

I'd forgotten the possiblity that desugaring could generate
dead dictionary bindings; easily fixed by calling occurAnalyseExpr
Dont allow hand-written Generic instances in Safe Haskell.

While they aren't strictly unsafe, it is a similar situation to
Typeable. There are few instances where a programmer will write their
own instance, and having compiler assurance that the Generic
implementation is correct brings a lot of benefits.
Allow warning if could have been infered safe instead of explicit
Trustworthy label.
Update Safe Haskell typeable test outputs.
Infer safety of modules correctly with new overlapping pragmas.
Add in (disabled for now) test of a Safe Haskell bug.
Add missing *.stderr files

which probably should have been added in commit fbd0586ea
Terminate in forkProcess like in real_main

Test Plan: validate

Reviewers: simonmar, austin

Reviewed By: simonmar, austin

Subscribers: phaskell, simonmar, relrod, carter

Differential Revision: https://phabricator.haskell.org/D99

GHC Trac Issues: #9377