Skip to content

Allow refinement of constructors for which -fdistinct-constructor-tables is applied

Finley McIlwaine requested to merge wip/t23703 into master

Allows for constructor names to be passed with the -fdistinct-constructor-tables=C1,...,CN flag. Also introduces -fno-distinct-constructor-tables=C1,...,CN. 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 distinct constructor table configuration is included in the dynflags fingerprints, which should result in the expected recompilation logic.

Adds a test using -dipe-stats

Fixes #23703

Edited by Finley McIlwaine

Merge request reports