Author: Fangrui Song Date: 2020-12-16T23:28:32-08:00 New Revision: c70f36865e040840f4c4a82108f5e356d92a2923
URL: https://github.com/llvm/llvm-project/commit/c70f36865e040840f4c4a82108f5e356d92a2923 DIFF: https://github.com/llvm/llvm-project/commit/c70f36865e040840f4c4a82108f5e356d92a2923.diff LOG: Use basic_string::find(char) instead of basic_string::find(const char *s, size_type pos=0) Many (StringRef) cannot be detected by clang-tidy performance-faster-string-find. Added: Modified: clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp clang/lib/Basic/Module.cpp clang/lib/CodeGen/TargetInfo.cpp clang/lib/CrossTU/CrossTranslationUnit.cpp clang/utils/TableGen/NeonEmitter.cpp clang/utils/TableGen/SveEmitter.cpp lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp llvm/lib/CodeGen/MIRCanonicalizerPass.cpp llvm/lib/FileCheck/FileCheck.cpp llvm/lib/Support/Host.cpp llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp llvm/tools/gold/gold-plugin.cpp llvm/tools/llvm-lto/llvm-lto.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp index 41f38ed00fc8..4130140d549c 100644 --- a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp @@ -176,7 +176,7 @@ void MakeSmartPtrCheck::checkConstruct(SourceManager &SM, ASTContext *Ctx, } // Find the location of the template's left angle. - size_t LAngle = ExprStr.find("<"); + size_t LAngle = ExprStr.find('<'); SourceLocation ConstructCallEnd; if (LAngle == StringRef::npos) { // If the template argument is missing (because it is part of the alias) diff --git a/clang/lib/Basic/Module.cpp b/clang/lib/Basic/Module.cpp index 9284c5947893..2dd53b05d442 100644 --- a/clang/lib/Basic/Module.cpp +++ b/clang/lib/Basic/Module.cpp @@ -75,7 +75,7 @@ static bool isPlatformEnvironment(const TargetInfo &Target, StringRef Feature) { return true; auto CmpPlatformEnv = [](StringRef LHS, StringRef RHS) { - auto Pos = LHS.find("-"); + auto Pos = LHS.find('-'); if (Pos == StringRef::npos) return false; SmallString<128> NewLHS = LHS.slice(0, Pos); diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp index e61daa7775f2..7adfd14a4108 100644 --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -2603,7 +2603,7 @@ static std::string qualifyWindowsLibrary(llvm::StringRef Lib) { // If the argument does not end in .lib, automatically add the suffix. // If the argument contains a space, enclose it in quotes. // This matches the behavior of MSVC. - bool Quote = (Lib.find(" ") != StringRef::npos); + bool Quote = (Lib.find(' ') != StringRef::npos); std::string ArgStr = Quote ? "\"" : ""; ArgStr += Lib; if (!Lib.endswith_lower(".lib") && !Lib.endswith_lower(".a")) diff --git a/clang/lib/CrossTU/CrossTranslationUnit.cpp b/clang/lib/CrossTU/CrossTranslationUnit.cpp index 45a2a91616b8..e27779f91abc 100644 --- a/clang/lib/CrossTU/CrossTranslationUnit.cpp +++ b/clang/lib/CrossTU/CrossTranslationUnit.cpp @@ -157,7 +157,7 @@ parseCrossTUIndex(StringRef IndexPath) { unsigned LineNo = 1; while (std::getline(ExternalMapFile, Line)) { StringRef LineRef{Line}; - const size_t Delimiter = LineRef.find(" "); + const size_t Delimiter = LineRef.find(' '); if (Delimiter > 0 && Delimiter != std::string::npos) { StringRef LookupName = LineRef.substr(0, Delimiter); diff --git a/clang/utils/TableGen/NeonEmitter.cpp b/clang/utils/TableGen/NeonEmitter.cpp index e8340d976f5e..8ca5404508b1 100644 --- a/clang/utils/TableGen/NeonEmitter.cpp +++ b/clang/utils/TableGen/NeonEmitter.cpp @@ -382,7 +382,7 @@ class Intrinsic { StringRef Mods = getNextModifiers(Proto, Pos); while (!Mods.empty()) { Types.emplace_back(InTS, Mods); - if (Mods.find("!") != StringRef::npos) + if (Mods.find('!') != StringRef::npos) PolymorphicKeyType = Types.size() - 1; Mods = getNextModifiers(Proto, Pos); diff --git a/clang/utils/TableGen/SveEmitter.cpp b/clang/utils/TableGen/SveEmitter.cpp index 8a705bc4b5b8..0e69600ef861 100644 --- a/clang/utils/TableGen/SveEmitter.cpp +++ b/clang/utils/TableGen/SveEmitter.cpp @@ -207,7 +207,7 @@ class Intrinsic { /// a short form without the type-specifiers, e.g. 'svld1(..)' instead of /// 'svld1_u32(..)'. static bool isOverloadedIntrinsic(StringRef Name) { - auto BrOpen = Name.find("["); + auto BrOpen = Name.find('['); auto BrClose = Name.find(']'); return BrOpen != std::string::npos && BrClose != std::string::npos; } @@ -893,14 +893,14 @@ std::string Intrinsic::mangleName(ClassKind LocalCK) const { if (LocalCK == ClassG) { // Remove the square brackets and everything in between. - while (S.find("[") != std::string::npos) { - auto Start = S.find("["); + while (S.find('[') != std::string::npos) { + auto Start = S.find('['); auto End = S.find(']'); S.erase(Start, (End-Start)+1); } } else { // Remove the square brackets. - while (S.find("[") != std::string::npos) { + while (S.find('[') != std::string::npos) { auto BrPos = S.find('['); if (BrPos != std::string::npos) S.erase(BrPos, 1); diff --git a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp index 5ceaf886b812..f669e5873d2d 100644 --- a/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp +++ b/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp @@ -666,7 +666,7 @@ class EnableOptions : public Options { // regex {search-regex} // Parse action. - auto action_end_pos = rule_text.find(" "); + auto action_end_pos = rule_text.find(' '); if (action_end_pos == std::string::npos) { error.SetErrorStringWithFormat("could not parse filter rule " "action from \"%s\"", diff --git a/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp b/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp index d4a91302c614..f820b6cc3fc4 100644 --- a/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp +++ b/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp @@ -108,7 +108,7 @@ rescheduleLexographically(std::vector<MachineInstr *> instructions, OS.flush(); // Trim the assignment, or start from the beginning in the case of a store. - const size_t i = S.find("="); + const size_t i = S.find('='); StringInstrMap.push_back({(i == std::string::npos) ? S : S.substr(i), II}); } diff --git a/llvm/lib/FileCheck/FileCheck.cpp b/llvm/lib/FileCheck/FileCheck.cpp index 8e234b2c72a8..d6fda5b36e69 100644 --- a/llvm/lib/FileCheck/FileCheck.cpp +++ b/llvm/lib/FileCheck/FileCheck.cpp @@ -1004,7 +1004,7 @@ bool Pattern::parsePattern(StringRef PatternStr, StringRef Prefix, // Parse string variable or legacy @LINE expression. if (!IsNumBlock) { - size_t VarEndIdx = MatchStr.find(":"); + size_t VarEndIdx = MatchStr.find(':'); size_t SpacePos = MatchStr.substr(0, VarEndIdx).find_first_of(" \t"); if (SpacePos != StringRef::npos) { SM.PrintMessage(SMLoc::getFromPointer(MatchStr.data() + SpacePos), diff --git a/llvm/lib/Support/Host.cpp b/llvm/lib/Support/Host.cpp index b179c8334a2b..ea561abb2887 100644 --- a/llvm/lib/Support/Host.cpp +++ b/llvm/lib/Support/Host.cpp @@ -324,7 +324,7 @@ StringRef sys::detail::getHostCPUNameForS390x(StringRef ProcCpuinfoContent) { SmallVector<StringRef, 32> CPUFeatures; for (unsigned I = 0, E = Lines.size(); I != E; ++I) if (Lines[I].startswith("features")) { - size_t Pos = Lines[I].find(":"); + size_t Pos = Lines[I].find(':'); if (Pos != StringRef::npos) { Lines[I].drop_front(Pos + 1).split(CPUFeatures, ' '); break; diff --git a/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp b/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp index 35bd16d8def1..c0a173df7ba2 100644 --- a/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp +++ b/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp @@ -179,7 +179,7 @@ void SystemZHazardRecognizer::dumpSU(SUnit *SU, raw_ostream &OS) const { *SchedModel->getProcResource(PI->ProcResourceIdx); std::string FU(PRD.Name); // trim e.g. Z13_FXaUnit -> FXa - FU = FU.substr(FU.find("_") + 1); + FU = FU.substr(FU.find('_') + 1); size_t Pos = FU.find("Unit"); if (Pos != std::string::npos) FU.resize(Pos); diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp index b2182792e303..94a26bb49adf 100644 --- a/llvm/tools/gold/gold-plugin.cpp +++ b/llvm/tools/gold/gold-plugin.cpp @@ -691,7 +691,7 @@ static const void *getSymbolsAndView(claimed_file &F) { static void getThinLTOOldAndNewSuffix(std::string &OldSuffix, std::string &NewSuffix) { assert(options::thinlto_object_suffix_replace.empty() || - options::thinlto_object_suffix_replace.find(";") != StringRef::npos); + options::thinlto_object_suffix_replace.find(';') != StringRef::npos); StringRef SuffixReplace = options::thinlto_object_suffix_replace; auto Split = SuffixReplace.split(';'); OldSuffix = std::string(Split.first); @@ -847,7 +847,7 @@ static CodeGenOpt::Level getCGOptLevel() { static void getThinLTOOldAndNewPrefix(std::string &OldPrefix, std::string &NewPrefix) { StringRef PrefixReplace = options::thinlto_prefix_replace; - assert(PrefixReplace.empty() || PrefixReplace.find(";") != StringRef::npos); + assert(PrefixReplace.empty() || PrefixReplace.find(';') != StringRef::npos); auto Split = PrefixReplace.split(';'); OldPrefix = std::string(Split.first); NewPrefix = std::string(Split.second); diff --git a/llvm/tools/llvm-lto/llvm-lto.cpp b/llvm/tools/llvm-lto/llvm-lto.cpp index b86c65735925..6052d6c962f7 100644 --- a/llvm/tools/llvm-lto/llvm-lto.cpp +++ b/llvm/tools/llvm-lto/llvm-lto.cpp @@ -465,7 +465,7 @@ static void createCombinedModuleSummaryIndex() { static void getThinLTOOldAndNewPrefix(std::string &OldPrefix, std::string &NewPrefix) { assert(ThinLTOPrefixReplace.empty() || - ThinLTOPrefixReplace.find(";") != StringRef::npos); + ThinLTOPrefixReplace.find(';') != StringRef::npos); StringRef PrefixReplace = ThinLTOPrefixReplace; std::pair<StringRef, StringRef> Split = PrefixReplace.split(";"); OldPrefix = Split.first.str(); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits