Allow per constructor refinement of distinct-constructor-tables
Introduce `-fno-distinct-constructor-tables`. A distinct constructor table configuration is built from the combination of flags given, in order. For example, to create distinct constructor tables for all constructors except for a specific few named `C1`,..., `CN`, pass `-fdistinct-contructor-tables` followed by `fno-distinct-constructor-tables=C1,...,CN`. To only generate distinct constuctor tables for a few specific constructors and no others, just pass `-fdistinct-constructor-tables=C1,...,CN`. The various configuations of these flags is included in the dynflags fingerprints, which should result in the expected recompilation logic. Adds a test that checks for distinct tables for various given or omitted constructors. Updates CountDepsAst and CountDepsParser tests to account for new dependencies. Fixes #23703
parent
e3950bc7
No related branches found
No related tags found
Pipeline #82713 failed
Stage: tool-lint
Stage: quick-build
Stage: full-build
Stage: packaging
Stage: testing
Showing
- compiler/GHC/Driver/Config/Stg/Debug.hs 1 addition, 1 deletioncompiler/GHC/Driver/Config/Stg/Debug.hs
- compiler/GHC/Driver/DynFlags.hs 10 additions, 4 deletionscompiler/GHC/Driver/DynFlags.hs
- compiler/GHC/Driver/Flags.hs 0 additions, 2 deletionscompiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs 38 additions, 1 deletioncompiler/GHC/Driver/Session.hs
- compiler/GHC/Iface/Recomp/Flags.hs 1 addition, 1 deletioncompiler/GHC/Iface/Recomp/Flags.hs
- compiler/GHC/Stg/Debug.hs 116 additions, 8 deletionscompiler/GHC/Stg/Debug.hs
- docs/users_guide/9.10.1-notes.rst 12 additions, 0 deletionsdocs/users_guide/9.10.1-notes.rst
- docs/users_guide/debug-info.rst 38 additions, 2 deletionsdocs/users_guide/debug-info.rst
- testsuite/tests/count-deps/CountDepsAst.stdout 5 additions, 0 deletionstestsuite/tests/count-deps/CountDepsAst.stdout
- testsuite/tests/count-deps/CountDepsParser.stdout 5 additions, 0 deletionstestsuite/tests/count-deps/CountDepsParser.stdout
- testsuite/tests/rts/ipe/distinct-tables/ACon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/ACon.out
- testsuite/tests/rts/ipe/distinct-tables/AConBCon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/AConBCon.out
- testsuite/tests/rts/ipe/distinct-tables/BCon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/BCon.out
- testsuite/tests/rts/ipe/distinct-tables/CCon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/CCon.out
- testsuite/tests/rts/ipe/distinct-tables/Main.hs 32 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/Main.hs
- testsuite/tests/rts/ipe/distinct-tables/Makefile 33 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/Makefile
- testsuite/tests/rts/ipe/distinct-tables/NoACon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/NoACon.out
- testsuite/tests/rts/ipe/distinct-tables/NoBCon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/NoBCon.out
- testsuite/tests/rts/ipe/distinct-tables/NoBConCCon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/NoBConCCon.out
- testsuite/tests/rts/ipe/distinct-tables/NoCCon.out 13 additions, 0 deletionstestsuite/tests/rts/ipe/distinct-tables/NoCCon.out
Loading
Please register or sign in to comment