testsuite: Only run llvm ways if llc is available

As noted in #18560, we previously would always run the LLVM ways since
`configure` would set `SettingsLlcCommand` to something non-null when
it otherwise couldn't find the `llc` executable. Now we rather probe for
the existence of the `llc` executable in the testsuite driver.

Fixes #18560.
22 jobs for !3852 with wip/T18560 in 340 minutes and 47 seconds (queued for 1 second)
detached
Status Job ID Name Coverage
  Lint
passed #414804
lint
ghc-linters

00:00:15

passed #414805
lint
lint-linters

00:00:15

passed #414808
lint
lint-submods

00:00:22

passed #414806
lint
lint-testsuite

00:00:16

passed #414807
lint
typecheck-testsuite

00:00:15

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

00:12:32

 
  Build
passed #414810
x86_64-linux
validate-x86_64-linux-deb9-hadrian

01:54:50

 
  Full Build
failed #414813
aarch64-linux allowed to fail
validate-aarch64-linux-deb9

03:32:10

failed #414814
armv7-linux allowed to fail
validate-armv7-linux-deb9

03:28:49

failed #414815
x86_64-linux
validate-i386-linux-deb9

01:01:16

failed #414812
x86_64-darwin
validate-x86_64-darwin

01:07:15

passed #414816
x86_64-linux
validate-x86_64-linux-deb9-debug

01:15:27

passed #414818
x86_64-linux
validate-x86_64-linux-deb9-dwarf

01:15:46

passed #414817
x86_64-linux
validate-x86_64-linux-deb9-integer-simple

01:24:44

passed #414811
x86_64-linux
validate-x86_64-linux-deb9-unreg-hadrian

01:49:25

failed #414819
x86_64-linux
validate-x86_64-linux-fedora27

01:06:47

failed #414821
new-x86_64-windows test allowed to fail
validate-x86_64-windows

00:50:39

failed #414820
new-x86_64-windows test allowed to fail
validate-x86_64-windows-hadrian

00:50:25

 
  Cleanup
passed #414822
x86_64-darwin
cleanup-darwin

00:00:18

 
  Packaging
skipped #414823
x86_64-linux allowed to fail
doc-tarball
 
  Testing
skipped #414824
x86_64-linux allowed to fail manual
hackage
skipped #414825
x86_64-linux
perf-nofib
 
Name Stage Failure
failed
validate-x86_64-windows-hadrian Full Build
Git branch:   13-1-stable
GO version: go1.13.8
Built: 2020-06-19T21:12:23+0000
OS/Arch: windows/amd64
Uploading artifacts...
Runtime platform
arch=amd64 os=windows pid=8800 revision=6214287e version=13.1.0
WARNING: junit.xml: no matching files
ERROR: No files to upload
ERROR: Job failed: exit status 1
failed
validate-x86_64-windows Full Build
Git branch:   13-1-stable
GO version: go1.13.8
Built: 2020-06-19T21:12:23+0000
OS/Arch: windows/amd64
Uploading artifacts...
Runtime platform
arch=amd64 os=windows pid=1156 revision=6214287e version=13.1.0
WARNING: junit.xml: no matching files
ERROR: No files to upload
ERROR: Job failed: exit status 1
failed
validate-i386-linux-deb9 Full Build
Uploading artifacts...
ghc-i386-deb9-linux.tar.xz: found 1 matching files and directories

junit.xml: found 1 matching files and directories

performance-metrics.tsv: found 1 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=414815 responseStatus=201 Created token=L5X_No4u
Uploading artifacts...
junit.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=414815 responseStatus=201 Created token=L5X_No4u
ERROR: Job failed: exit code 1
failed
validate-x86_64-linux-fedora27 Full Build
Uploading artifacts...
ghc-x86_64-fedora27-linux.tar.xz: found 1 matching files and directories

junit.xml: found 1 matching files and directories

performance-metrics.tsv: found 1 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=414819 responseStatus=201 Created token=6pXq28Yz
Uploading artifacts...
junit.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=414819 responseStatus=201 Created token=6pXq28Yz
ERROR: Job failed: exit code 1
failed
validate-x86_64-darwin Full Build
ghc-x86_64-apple-darwin.tar.xz: found 1 matching files and directories 
junit.xml: found 1 matching files and directories

performance-metrics.tsv: found 1 matching files and directories

Uploading artifacts as "archive" to coordinator... ok
id=414812 responseStatus=201 Created token=7CzcY2ri
Uploading artifacts...
Runtime platform
arch=amd64 os=darwin pid=68471 revision=6214287e version=13.1.0
junit.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... ok
id=414812 responseStatus=201 Created token=7CzcY2ri
ERROR: Job failed: exit status 1
failed
validate-armv7-linux-deb9 Full Build
Uploading artifacts...
ghc-armv7-linux-deb9.tar.xz: found 1 matching files

junit.xml: found 1 matching files

performance-metrics.tsv: found 1 matching files

Uploading artifacts to coordinator... ok
id=414814 responseStatus=201 Created token=mCT-HAMv
Uploading artifacts...
junit.xml: found 1 matching files

Uploading artifacts to coordinator... ok
id=414814 responseStatus=201 Created token=mCT-HAMv
ERROR: Job failed: exit code 1
failed
validate-aarch64-linux-deb9 Full Build
=====> posix004(normal) 7670 of 7683 [0, 101, 0]
cd "libraries/unix/tests/libposix/posix004.run" && "/builds/ghc/ghc/inplace/bin/ghc-stage2" -o posix004 posix004.hs -dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output <
cd "libraries/unix/tests/T8108.run" && ./T8108 <
cd "libraries/unix/tests/libposix/posix002.run" && ./posix002 <
=====> posix005(normal) 7671 of 7683 [0, 101, 0]
cd "libraries/unix/tests/libposix/posix005.run" && "/builds/ghc/ghc/inplace/bin/ghc-stage2" -o posix005 posix005.hs -dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output <
cd "libraries/unix/tests/libposix/posix003.run" && ./posix003 <
=====> posix006(normal) 7672 of 7683 [0, 101, 0]
cd "libraries/unix/tests/libposix/posix006.run" && "/builds/ghc/ghc/inplace/bin/ghc-stage2" -o posix006 posix006.hs -dcore-lint -dstg-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-
Job's log exceeded limit of 16384000 bytes.