Skip to content

Commit 74765a8

Browse files
committed
Remove Type Body Fingerprints Flags
This infrastructure has more than proven itself. Drop the code paths and tests supporting the status quo.
1 parent e903630 commit 74765a8

File tree

48 files changed

+581
-2018
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+581
-2018
lines changed

include/swift/Basic/LangOptions.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -330,12 +330,6 @@ namespace swift {
330330
/// of active clauses aren't hoisted into the enclosing scope.
331331
bool DisablePoundIfEvaluation = false;
332332

333-
/// Instead of hashing tokens inside of NominalType and ExtensionBodies into
334-
/// the interface hash, hash them into per-iterable-decl-context
335-
/// fingerprints. Fine-grained dependency types won't dirty every provides
336-
/// in a file when the user adds a member to, e.g., a struct.
337-
bool EnableTypeFingerprints = true;
338-
339333
/// When using fine-grained dependencies, emit dot files for every swiftdeps
340334
/// file.
341335
bool EmitFineGrainedDependencySourcefileDotFiles = false;

include/swift/Driver/Compilation.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,6 @@ class Compilation {
265265
const bool OnlyOneDependencyFile;
266266

267267
private:
268-
/// Is the parser recording token hashes for each type body?
269-
const bool EnableTypeFingerprints;
270-
271268
/// Helpful for debugging, but slows down the driver. So, only turn on when
272269
/// needed.
273270
const bool VerifyFineGrainedDependencyGraphAfterEveryImport;
@@ -319,8 +316,6 @@ class Compilation {
319316
bool ShowDriverTimeCompilation = false,
320317
std::unique_ptr<UnifiedStatsReporter> Stats = nullptr,
321318
bool OnlyOneDependencyFile = false,
322-
bool EnableTypeFingerprints =
323-
LangOptions().EnableTypeFingerprints,
324319
bool VerifyFineGrainedDependencyGraphAfterEveryImport = false,
325320
bool EmitFineGrainedDependencyDotFileAfterEveryImport = false,
326321
bool FineGrainedDependenciesIncludeIntrafileOnes = false,
@@ -386,8 +381,6 @@ class Compilation {
386381
}
387382
void disableIncrementalBuild(Twine why);
388383

389-
bool getEnableTypeFingerprints() const { return EnableTypeFingerprints; }
390-
391384
bool getVerifyFineGrainedDependencyGraphAfterEveryImport() const {
392385
return VerifyFineGrainedDependencyGraphAfterEveryImport;
393386
}

include/swift/Driver/FineGrainedDependencyDriverGraph.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,6 @@ class ModuleDepGraph {
189189
const bool verifyFineGrainedDependencyGraphAfterEveryImport;
190190
const bool emitFineGrainedDependencyDotFileAfterEveryImport;
191191

192-
const bool EnableTypeFingerprints;
193-
194192
private:
195193
/// If tracing dependencies, holds a vector used to hold the current path
196194
/// def - use/def - use/def - ...
@@ -296,14 +294,12 @@ class ModuleDepGraph {
296294
/// \p stats may be null
297295
ModuleDepGraph(const bool verifyFineGrainedDependencyGraphAfterEveryImport,
298296
const bool emitFineGrainedDependencyDotFileAfterEveryImport,
299-
const bool EnableTypeFingerprints,
300297
const bool shouldTraceDependencies,
301298
UnifiedStatsReporter *stats)
302299
: verifyFineGrainedDependencyGraphAfterEveryImport(
303300
verifyFineGrainedDependencyGraphAfterEveryImport),
304301
emitFineGrainedDependencyDotFileAfterEveryImport(
305302
emitFineGrainedDependencyDotFileAfterEveryImport),
306-
EnableTypeFingerprints(EnableTypeFingerprints),
307303
currentPathIfTracing(
308304
shouldTraceDependencies
309305
? llvm::Optional<std::vector<const ModuleDepGraphNode *>>(
@@ -314,11 +310,10 @@ class ModuleDepGraph {
314310
}
315311

316312
/// For unit tests.
317-
ModuleDepGraph(const bool EnableTypeFingerprints,
318-
const bool EmitDotFilesForDebugging = false)
313+
ModuleDepGraph(const bool EmitDotFilesForDebugging = false)
319314
: ModuleDepGraph(
320315
true, /*emitFineGrainedDependencyDotFileAfterEveryImport=*/
321-
EmitDotFilesForDebugging, EnableTypeFingerprints, false, nullptr) {}
316+
EmitDotFilesForDebugging, false, nullptr) {}
322317

323318
//============================================================================
324319
// MARK: ModuleDepGraph - updating from a switdeps file

include/swift/Option/Options.td

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,6 @@ def driver_always_rebuild_dependents :
139139
Flag<["-"], "driver-always-rebuild-dependents">, InternalDebugOpt,
140140
HelpText<"Always rebuild dependents of files that have been modified">;
141141

142-
def enable_type_fingerprints :
143-
Flag<["-"], "enable-type-fingerprints">, Flags<[FrontendOption, HelpHidden]>,
144-
HelpText<"Enable per-nominal and extension body fingerprints">;
145-
146-
def disable_type_fingerprints :
147-
Flag<["-"], "disable-type-fingerprints">, Flags<[FrontendOption, HelpHidden]>,
148-
HelpText<"Disable per-nominal and extension body fingerprints">;
149-
150142
def enable_only_one_dependency_file :
151143
Flag<["-"], "enable-only-one-dependency-file">, Flags<[DoesNotAffectIncrementalBuild]>,
152144
HelpText<"Enables incremental build optimization that only produces one dependencies file">;

lib/AST/DeclContext.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -933,7 +933,7 @@ bool IterableDeclContext::areTokensHashedForThisBodyInsteadOfInterfaceHash()
933933
// corresponding to the fingerprinted nominal dependency node.
934934
if (isa<ExtensionDecl>(this))
935935
return false;
936-
return getASTContext().LangOpts.EnableTypeFingerprints;
936+
return true;
937937
}
938938

939939
/// Return the DeclContext to compare when checking private access in

lib/Driver/Compilation.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ Compilation::Compilation(DiagnosticEngine &Diags,
121121
bool ShowDriverTimeCompilation,
122122
std::unique_ptr<UnifiedStatsReporter> StatsReporter,
123123
bool OnlyOneDependencyFile,
124-
bool EnableTypeFingerprints,
125124
bool VerifyFineGrainedDependencyGraphAfterEveryImport,
126125
bool EmitFineGrainedDependencyDotFileAfterEveryImport,
127126
bool FineGrainedDependenciesIncludeIntrafileOnes,
@@ -149,7 +148,6 @@ Compilation::Compilation(DiagnosticEngine &Diags,
149148
Stats(std::move(StatsReporter)),
150149
FilelistThreshold(FilelistThreshold),
151150
OnlyOneDependencyFile(OnlyOneDependencyFile),
152-
EnableTypeFingerprints(EnableTypeFingerprints),
153151
VerifyFineGrainedDependencyGraphAfterEveryImport(
154152
VerifyFineGrainedDependencyGraphAfterEveryImport),
155153
EmitFineGrainedDependencyDotFileAfterEveryImport(
@@ -829,12 +827,12 @@ namespace driver {
829827
FineGrainedDepGraph(
830828
Comp.getVerifyFineGrainedDependencyGraphAfterEveryImport(),
831829
Comp.getEmitFineGrainedDependencyDotFileAfterEveryImport(),
832-
Comp.getEnableTypeFingerprints(), Comp.getTraceDependencies(),
830+
Comp.getTraceDependencies(),
833831
Comp.getStatsReporter()),
834832
FineGrainedDepGraphForRanges(
835833
Comp.getVerifyFineGrainedDependencyGraphAfterEveryImport(),
836834
Comp.getEmitFineGrainedDependencyDotFileAfterEveryImport(),
837-
Comp.getEnableTypeFingerprints(), Comp.getTraceDependencies(),
835+
Comp.getTraceDependencies(),
838836
Comp.getStatsReporter()),
839837
TQ(std::move(TaskQueue)) {}
840838

lib/Driver/Driver.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,11 +1014,6 @@ Driver::buildCompilation(const ToolChain &TC,
10141014
ArgList->hasFlag(options::OPT_enable_only_one_dependency_file,
10151015
options::OPT_disable_only_one_dependency_file, false);
10161016

1017-
const bool EnableTypeFingerprints =
1018-
ArgList->hasFlag(options::OPT_enable_type_fingerprints,
1019-
options::OPT_disable_type_fingerprints,
1020-
LangOptions().EnableTypeFingerprints);
1021-
10221017
const bool VerifyFineGrainedDependencyGraphAfterEveryImport = ArgList->hasArg(
10231018
options::
10241019
OPT_driver_verify_fine_grained_dependency_graph_after_every_import);
@@ -1050,7 +1045,6 @@ Driver::buildCompilation(const ToolChain &TC,
10501045
ShowDriverTimeCompilation,
10511046
std::move(StatsReporter),
10521047
OnlyOneDependencyFile,
1053-
EnableTypeFingerprints,
10541048
VerifyFineGrainedDependencyGraphAfterEveryImport,
10551049
EmitFineGrainedDependencyDotFileAfterEveryImport,
10561050
FineGrainedDependenciesIncludeIntrafileOnes,

lib/Driver/FineGrainedDependencyDriverGraph.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -369,12 +369,6 @@ ModuleDepGraph::integrateSourceFileDepGraphNode(
369369
const SourceFileDepGraph &g, const SourceFileDepGraphNode *integrand,
370370
const PreexistingNodeIfAny preexistingMatch,
371371
const StringRef swiftDepsOfJob) {
372-
373-
if (!EnableTypeFingerprints &&
374-
integrand->getKey().getKind() != NodeKind::sourceFileProvide &&
375-
integrand->getFingerprint())
376-
return None;
377-
378372
if (!integrand->getIsProvides())
379373
return NullablePtr<ModuleDepGraphNode>(); // depends are captured by
380374
// recordWhatUseDependsUpon below

lib/Driver/ToolChains.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,6 @@ void ToolChain::addCommonFrontendArgs(const OutputInfo &OI,
259259
inputArgs.AddLastArg(arguments, options::OPT_O_Group);
260260
inputArgs.AddLastArg(arguments, options::OPT_RemoveRuntimeAsserts);
261261
inputArgs.AddLastArg(arguments, options::OPT_AssumeSingleThreaded);
262-
inputArgs.AddLastArg(arguments, options::OPT_enable_type_fingerprints);
263-
inputArgs.AddLastArg(arguments, options::OPT_disable_type_fingerprints);
264262
inputArgs.AddLastArg(arguments,
265263
options::OPT_fine_grained_dependency_include_intrafile);
266264
inputArgs.AddLastArg(arguments,

lib/Frontend/CompilerInvocation.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -438,11 +438,6 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
438438
Opts.VerifySyntaxTree = true;
439439
}
440440

441-
Opts.EnableTypeFingerprints =
442-
Args.hasFlag(options::OPT_enable_type_fingerprints,
443-
options::OPT_disable_type_fingerprints,
444-
LangOptions().EnableTypeFingerprints);
445-
446441
if (Args.hasArg(OPT_emit_fine_grained_dependency_sourcefile_dot_files))
447442
Opts.EmitFineGrainedDependencySourcefileDotFiles = true;
448443

0 commit comments

Comments
 (0)