Avoid useless w/w split

This patch is just a tidy-up for the post-strictness-analysis
worker wrapper split.  Consider

   f x = x

Strictnesss analysis does not lead to a w/w split, so the
obvious thing is to leave it 100% alone.  But actually, because
the RHS is small, we ended up adding a StableUnfolding for it.

There is some reason to do this if we choose /not/ do to w/w
on the grounds that the function is small.  See
Note [Don't w/w inline small non-loop-breaker things]

But there is no reason if we would not have done w/w anyway.

This patch just moves the conditional to later.  Easy.
This does move soem -ddump-simpl printouts around a bit.

I also discovered that the previous code was overwritten an
InlineCompulsory with InlineStable, which is utterly wrong.  That in
turn meant that some default methods (marked InlineCompulsory)
were getting their InlineCompulsory squashed. This patch fixes
that bug --- but of course that does mean a bit more inlining!

Metric Decrease:
    T9233
    T9675
Metric Increase:
    T12707
    T3064
    T4029
    T9872b
    T9872d
    haddock.Cabal
23 jobs for !2873 with wip/T17917 in 140 minutes and 24 seconds (queued for 3 seconds)
detached
Status Job ID Name Coverage
  Lint
passed #377511
lint
ghc-linters

00:00:14

passed #377512
lint
lint-linters

00:00:15

passed #377515
lint
lint-submods

00:00:25

passed #377513
lint
lint-testsuite

00:00:16

passed #377514
lint
typecheck-testsuite

00:00:15

 
  Quick Build
passed #377516
x86_64-linux
hadrian-ghc-in-ghci

00:15:23

 
  Build
failed #377517
x86_64-linux
validate-x86_64-linux-deb9-hadrian

02:04:02

 
  Full Build
skipped #377520
aarch64-linux allowed to fail
validate-aarch64-linux-deb9
skipped #377521
armv7-linux allowed to fail
validate-armv7-linux-deb9
skipped #377522
x86_64-linux
validate-i386-linux-deb9
skipped #377529
new-x86_64-windows test allowed to fail
validate-i386-windows
skipped #377519
x86_64-darwin
validate-x86_64-darwin
skipped #377523
x86_64-linux
validate-x86_64-linux-deb9-debug
skipped #377525
x86_64-linux
validate-x86_64-linux-deb9-dwarf
skipped #377524
x86_64-linux
validate-x86_64-linux-deb9-integer-simple
skipped #377518
x86_64-linux
validate-x86_64-linux-deb9-unreg-hadrian
skipped #377526
x86_64-linux
validate-x86_64-linux-fedora27
skipped #377528
new-x86_64-windows test allowed to fail
validate-x86_64-windows
skipped #377527
new-x86_64-windows test allowed to fail
validate-x86_64-windows-hadrian
 
  Cleanup
failed #377530
x86_64-darwin
cleanup-darwin

 
  Packaging
skipped #377531
x86_64-linux allowed to fail
doc-tarball
 
  Testing
skipped #377532
x86_64-linux allowed to fail manual
hackage
skipped #377533
x86_64-linux
perf-nofib
 
Name Stage Failure
failed
validate-x86_64-linux-deb9-hadrian Build
Running after script...
$ .gitlab/ci.sh clean
Running make --quiet clean...
Running rm -Rf _build...
Uploading artifacts for failed job
Uploading artifacts...
junit.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=377517 responseStatus=201 Created token=n3YyQySY
ERROR: Job failed: exit code 1
failed
cleanup-darwin Cleanup There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job log