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