Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
6227 commits behind the upstream repository.
Finley McIlwaine's avatar
Finley McIlwaine authored
The -fno-info-table-map-with-stack flag omits STACK info tables from the info
table map, and the -fno-info-table-map-with-fallback flag omits info tables
with defaulted source locations from the map. In a test on the Agda codebase
the build results were about 7% smaller when both of those types of tables
were omitted.

Adds a test that verifies that passing each combination of these flags
results in the correct output for -dipe-stats, which is disabled for the js
backend since profiling is not implemented.

This commit also refactors a lot of the logic around extracting info tables
from the Cmm results and building the info table map.

This commit also fixes some issues in the users guide rst source to fix
warnings that were noticed while debugging the documentation for these flags.

Fixes #23702
261c4acb
History

GHC Testsuite Readme

For the full testsuite documentation, please see here.

Quick Guide

Commands to run testsuite:

  • Full testsuite: hadrian/build test
  • Using more threads: hadrian/build test -j12
  • Reduced (fast) testsuite: hadrian/build test --test-speed=fast
  • Run a specific test: hadrian/build test --only="tc055 tc054"
  • Test a specific 'way': hadrian/build test --test-way=optllvm
  • Skip performance tests: hadrian/build test --skip-perf
  • Set verbosity: hadrian/build test --test-verbose=<n> where n=0: No per-test output, n=1: Only failures, n=2: Progress output, n=3: Include commands called (default), n=4: Include perf test results unconditionally, n=5: Echo commands in subsidiary make invocations

Testsuite Ways

The testsuite can be run in a variety of 'ways'. This concept refers to different ways that GHC can compile the code. For example, using the native code generator (-fasm) is one way, while using the LLVM code generator (-fllvm) is another way.

The various ways that GHC supports are defined in config/ghc

Adding Tests

Please see the more extensive documentation here.