mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add an empty constraint propagation pass.
This is disabled by default but enabled under the frontend option -propagate-constraints. The idea here is to have a pass that enforces local consistency in our constraint system, in order to reduce the domains of constraint variables, speeding up the solving of the constraint system. The initial focus will be on reducing the size of the disjunctions for function overloads with the hope that it substantially improves the performance of type checking many expressions.
This commit is contained in:
@@ -864,6 +864,7 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
|
||||
|
||||
Opts.EnableASTScopeLookup |= Args.hasArg(OPT_enable_astscope_lookup);
|
||||
Opts.DebugConstraintSolver |= Args.hasArg(OPT_debug_constraints);
|
||||
Opts.EnableConstraintPropagation |= Args.hasArg(OPT_propagate_constraints);
|
||||
Opts.IterativeTypeChecker |= Args.hasArg(OPT_iterative_type_checker);
|
||||
Opts.DebugGenericSignatures |= Args.hasArg(OPT_debug_generic_signatures);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user