diff options
author | Jay Foad <jay.foad@amd.com> | 2025-01-23 13:28:59 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-23 13:28:59 +0000 |
commit | d3d605b7cdee132929d32f8b71b01641eb1d6d37 (patch) | |
tree | 63dac1c3a6335dc6ca29b29a449e7cdb2b661690 /llvm | |
parent | 590e5e20b12f9fd956d0ba7de83aa2ab44c9faeb (diff) | |
download | llvm-d3d605b7cdee132929d32f8b71b01641eb1d6d37.zip llvm-d3d605b7cdee132929d32f8b71b01641eb1d6d37.tar.gz llvm-d3d605b7cdee132929d32f8b71b01641eb1d6d37.tar.bz2 |
[FileCheck] Use move semantics instead of std::swap. NFC. (#123304)
This code was using a pre-move-semantics trick of using std::swap to
avoid expensive vector copies.
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/FileCheck/FileCheck.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/FileCheck/FileCheckImpl.h | 5 |
2 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/FileCheck/FileCheck.cpp b/llvm/lib/FileCheck/FileCheck.cpp index a6df967..5706afc 100644 --- a/llvm/lib/FileCheck/FileCheck.cpp +++ b/llvm/lib/FileCheck/FileCheck.cpp @@ -1933,8 +1933,8 @@ bool FileCheck::readCheckFile( } // Okay, add the string we captured to the output vector and move on. - CheckStrings.emplace_back(P, UsedPrefix, PatternLoc); - std::swap(DagNotMatches, CheckStrings.back().DagNotStrings); + CheckStrings.emplace_back(std::move(P), UsedPrefix, PatternLoc, + std::move(DagNotMatches)); DagNotMatches = ImplicitNegativeChecks; } @@ -1963,8 +1963,8 @@ bool FileCheck::readCheckFile( if (!DagNotMatches.empty()) { CheckStrings.emplace_back( Pattern(Check::CheckEOF, PatternContext.get(), LineNumber + 1), - *Req.CheckPrefixes.begin(), SMLoc::getFromPointer(Buffer.data())); - std::swap(DagNotMatches, CheckStrings.back().DagNotStrings); + *Req.CheckPrefixes.begin(), SMLoc::getFromPointer(Buffer.data()), + std::move(DagNotMatches)); } return false; diff --git a/llvm/lib/FileCheck/FileCheckImpl.h b/llvm/lib/FileCheck/FileCheckImpl.h index c772edd..4715fa9 100644 --- a/llvm/lib/FileCheck/FileCheckImpl.h +++ b/llvm/lib/FileCheck/FileCheckImpl.h @@ -837,8 +837,9 @@ struct FileCheckString { /// Hold the DAG/NOT strings occurring in the input file. std::vector<DagNotPrefixInfo> DagNotStrings; - FileCheckString(const Pattern &P, StringRef S, SMLoc L) - : Pat(P), Prefix(S), Loc(L) {} + FileCheckString(Pattern &&P, StringRef S, SMLoc L, + std::vector<DagNotPrefixInfo> &&D) + : Pat(std::move(P)), Prefix(S), Loc(L), DagNotStrings(std::move(D)) {} /// Matches check string and its "not strings" and/or "dag strings". size_t Check(const SourceMgr &SM, StringRef Buffer, bool IsLabelScanMode, |