Fine-grained and driver fixes.

Restructure fine-grained-dependencies to enable unit testing

Get frontend to emit correct swiftdeps file (fine-grained when needed) and only emit dot file for -emit-fine-grained-dependency-sourcefile-dot-files

Use deterministic order for more information outputs.

Set EnableFineGrainedDependencies consistently in frontend.

Tolerate errors that result in null getExtendedNominal()

Fix memory issue by removing node everywhere.

Break up print routine

Be more verbose so it will compile on Linux.

Sort batchable jobs, too.
This commit is contained in:
David Ungar
2019-12-23 21:51:28 -08:00
parent 0d87a14785
commit cc89dad526
18 changed files with 835 additions and 354 deletions

View File

@@ -359,9 +359,13 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.BuildSyntaxTree = true;
Opts.VerifySyntaxTree = true;
}
if (Args.hasArg(OPT_enable_fine_grained_dependencies))
Opts.EnableFineGrainedDependencies = true;
Opts.EnableFineGrainedDependencies =
Args.hasFlag(options::OPT_enable_fine_grained_dependencies,
options::OPT_disable_fine_grained_dependencies, false);
if (Args.hasArg(OPT_emit_fine_grained_dependency_sourcefile_dot_files))
Opts.EmitFineGrainedDependencySourcefileDotFiles = true;
if (Args.hasArg(OPT_fine_grained_dependency_include_intrafile))
Opts.FineGrainedDependenciesIncludeIntrafileOnes = true;