mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[CAS] Use IncludeTreeFileList instead of full CASFS for caching
Use IncludeTreeFileList instead of full feature CASFS for swift dependency filesystem. This allows smaller CAS based VFS that is smaller and faster. This is enabled by the CAS enabled compilation does not need to iterate file system. rdar://136787368
This commit is contained in:
@@ -729,6 +729,8 @@ static bool ParseCASArgs(CASOptions &Opts, ArgList &Args,
|
||||
Opts.CASFSRootIDs.emplace_back(A);
|
||||
for (const auto &A : Args.getAllArgValues(OPT_clang_include_tree_root))
|
||||
Opts.ClangIncludeTrees.emplace_back(A);
|
||||
for (const auto &A : Args.getAllArgValues(OPT_clang_include_tree_filelist))
|
||||
Opts.ClangIncludeTreeFileList.emplace_back(A);
|
||||
|
||||
if (const Arg *A = Args.getLastArg(OPT_input_file_key))
|
||||
Opts.InputFileKey = A->getValue();
|
||||
@@ -736,7 +738,8 @@ static bool ParseCASArgs(CASOptions &Opts, ArgList &Args,
|
||||
if (const Arg*A = Args.getLastArg(OPT_bridging_header_pch_key))
|
||||
Opts.BridgingHeaderPCHCacheKey = A->getValue();
|
||||
|
||||
if (!Opts.CASFSRootIDs.empty() || !Opts.ClangIncludeTrees.empty())
|
||||
if (!Opts.CASFSRootIDs.empty() || !Opts.ClangIncludeTrees.empty() ||
|
||||
!Opts.ClangIncludeTreeFileList.empty())
|
||||
Opts.HasImmutableFileSystem = true;
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user