[clang-tools-extra] Copy to move (PR #119741)
Zahira Ammarguellat via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 12 10:50:43 PST 2024
https://github.com/zahiraam created https://github.com/llvm/llvm-project/pull/119741
None
>From 440554df79ebc7c8971c4af928f623b13c95c6ee Mon Sep 17 00:00:00 2001
From: Zahira Ammarguellat <Zahira.Ammarguellat at intel.com>
Date: Wed, 4 Dec 2024 12:54:41 -0800
Subject: [PATCH 1/2] [NFC] Use a move instead of a copy to optimize
performance.
---
clang-tools-extra/clangd/ModulesBuilder.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang-tools-extra/clangd/ModulesBuilder.cpp b/clang-tools-extra/clangd/ModulesBuilder.cpp
index 29508901f85bba..bee31fe51555e0 100644
--- a/clang-tools-extra/clangd/ModulesBuilder.cpp
+++ b/clang-tools-extra/clangd/ModulesBuilder.cpp
@@ -199,7 +199,7 @@ bool IsModuleFileUpToDate(PathRef ModuleFilePath,
SourceManager SourceMgr(*Diags, FileMgr);
- HeaderSearch HeaderInfo(HSOpts, SourceMgr, *Diags, LangOpts,
+ HeaderSearch HeaderInfo(std::move(HSOpts), SourceMgr, *Diags, LangOpts,
/*Target=*/nullptr);
TrivialModuleLoader ModuleLoader;
>From fadfd03b9596e6751c6bda5f17d076f1884fbe29 Mon Sep 17 00:00:00 2001
From: Zahira Ammarguellat <Zahira.Ammarguellat at intel.com>
Date: Thu, 12 Dec 2024 10:43:26 -0800
Subject: [PATCH 2/2] [NFC] Fixed a couple issues found trhough static analysis
tool.
---
clang-tools-extra/clangd/ModulesBuilder.cpp | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/clang-tools-extra/clangd/ModulesBuilder.cpp b/clang-tools-extra/clangd/ModulesBuilder.cpp
index bee31fe51555e0..2e27d1bd287cb7 100644
--- a/clang-tools-extra/clangd/ModulesBuilder.cpp
+++ b/clang-tools-extra/clangd/ModulesBuilder.cpp
@@ -142,10 +142,13 @@ class ReusablePrerequisiteModules : public PrerequisiteModules {
public:
ReusablePrerequisiteModules() = default;
- ReusablePrerequisiteModules(const ReusablePrerequisiteModules &Other) =
- default;
- ReusablePrerequisiteModules &
- operator=(const ReusablePrerequisiteModules &) = default;
+ ReusablePrerequisiteModules(const ReusablePrerequisiteModules &Other)
+ : PrerequisiteModules(Other) {
+ RequiredModules = Other.RequiredModules;
+ BuiltModuleNames = Other.BuiltModuleNames;
+ }
+
+ ReusablePrerequisiteModules &operator=(const ReusablePrerequisiteModules &) = delete;
ReusablePrerequisiteModules(ReusablePrerequisiteModules &&) = delete;
ReusablePrerequisiteModules
operator=(ReusablePrerequisiteModules &&) = delete;
@@ -310,7 +313,7 @@ bool ReusablePrerequisiteModules::canReuse(
llvm::SmallVector<llvm::StringRef> BMIPaths;
for (auto &MF : RequiredModules)
BMIPaths.push_back(MF->getModuleFilePath());
- return IsModuleFilesUpToDate(BMIPaths, *this, VFS);
+ return IsModuleFilesUpToDate(std::move(BMIPaths), *this, VFS);
}
class ModuleFileCache {
More information about the cfe-commits
mailing list