From 6a7030bd063247a329c718f4b304e3d117000bb3 Mon Sep 17 00:00:00 2001 From: Rintaro Ishizaki Date: Thu, 30 Jan 2020 15:18:13 -0800 Subject: [PATCH 1/2] Revert "[SourceKit] Disable module system headers validation" This reverts commit 6528d7f423f01d4db0b7aa8ad3d719d7fbfbb3d9. --- lib/IDE/CompletionInstance.cpp | 5 +++++ tools/SourceKit/lib/SwiftLang/SwiftASTManager.cpp | 5 ----- tools/swift-ide-test/swift-ide-test.cpp | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/IDE/CompletionInstance.cpp b/lib/IDE/CompletionInstance.cpp index 85dc45b812b38..35d74de7d018b 100644 --- a/lib/IDE/CompletionInstance.cpp +++ b/lib/IDE/CompletionInstance.cpp @@ -328,6 +328,11 @@ bool swift::ide::CompletionInstance::performOperation( // source text. That breaks an invariant of syntax tree building. Invocation.getLangOptions().BuildSyntaxTree = false; + // This validation may call stat(2) many times. Disable it to prevent + // performance regression. + Invocation.getSearchPathOptions().DisableModulesValidateSystemDependencies = + true; + // FIXME: ASTScopeLookup doesn't support code completion yet. Invocation.disableASTScopeLookup(); diff --git a/tools/SourceKit/lib/SwiftLang/SwiftASTManager.cpp b/tools/SourceKit/lib/SwiftLang/SwiftASTManager.cpp index 1ebbcfeb25441..1e2b1fd10a211 100644 --- a/tools/SourceKit/lib/SwiftLang/SwiftASTManager.cpp +++ b/tools/SourceKit/lib/SwiftLang/SwiftASTManager.cpp @@ -539,11 +539,6 @@ bool SwiftASTManager::initCompilerInvocation( // We don't care about LLVMArgs FrontendOpts.LLVMArgs.clear(); - // This validation may call stat(2) many times. Disable it to prevent - // performance issues. - Invocation.getSearchPathOptions().DisableModulesValidateSystemDependencies = - true; - // SwiftSourceInfo files provide source location information for decls coming // from loaded modules. For most IDE use cases it either has an undesirable // impact on performance with no benefit (code completion), results in stale diff --git a/tools/swift-ide-test/swift-ide-test.cpp b/tools/swift-ide-test/swift-ide-test.cpp index 1b742281b9dfd..d04bd53dab5f0 100644 --- a/tools/swift-ide-test/swift-ide-test.cpp +++ b/tools/swift-ide-test/swift-ide-test.cpp @@ -3302,8 +3302,6 @@ int main(int argc, char *argv[]) { options::DebugForbidTypecheckPrefix; InitInvok.getTypeCheckerOptions().DebugConstraintSolver = options::DebugConstraintSolver; - InitInvok.getSearchPathOptions().DisableModulesValidateSystemDependencies = - true; for (auto ConfigName : options::BuildConfigs) InitInvok.getLangOptions().addCustomConditionalCompilationFlag(ConfigName); From 062f9535957603487c8387c5cbef75c4cfeefbb1 Mon Sep 17 00:00:00 2001 From: Rintaro Ishizaki Date: Thu, 30 Jan 2020 15:18:24 -0800 Subject: [PATCH 2/2] Revert "[CodeCompletion] Disable module system headers validation" This reverts commit 9ff8bb9a9f606779d8ede3a1d086a010ef762e20. --- lib/IDE/CompletionInstance.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/IDE/CompletionInstance.cpp b/lib/IDE/CompletionInstance.cpp index 35d74de7d018b..85dc45b812b38 100644 --- a/lib/IDE/CompletionInstance.cpp +++ b/lib/IDE/CompletionInstance.cpp @@ -328,11 +328,6 @@ bool swift::ide::CompletionInstance::performOperation( // source text. That breaks an invariant of syntax tree building. Invocation.getLangOptions().BuildSyntaxTree = false; - // This validation may call stat(2) many times. Disable it to prevent - // performance regression. - Invocation.getSearchPathOptions().DisableModulesValidateSystemDependencies = - true; - // FIXME: ASTScopeLookup doesn't support code completion yet. Invocation.disableASTScopeLookup();