Merge pull request #41945 from slavapestov/rqm-split-concrete-equiv-class-improvements

RequirementMachine: Improve the 'split concrete equivalence classes' hack a bit
This commit is contained in:
Slava Pestov
2022-03-22 20:59:07 -04:00
committed by GitHub
15 changed files with 451 additions and 239 deletions

View File

@@ -995,6 +995,17 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
}
}
if (const Arg *A = Args.getLastArg(OPT_requirement_machine_max_split_concrete_equiv_class_attempts)) {
unsigned limit;
if (StringRef(A->getValue()).getAsInteger(10, limit)) {
Diags.diagnose(SourceLoc(), diag::error_invalid_arg_value,
A->getAsString(Args), A->getValue());
HadError = true;
} else {
Opts.RequirementMachineMaxSplitConcreteEquivClassAttempts = limit;
}
}
if (Args.hasArg(OPT_disable_requirement_machine_concrete_contraction))
Opts.EnableRequirementMachineConcreteContraction = false;