[llvm] [Support] Use StringRef::operator== instead of StringRef::equals (NFC) (PR #91042)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Fri May 3 21:40:39 PDT 2024
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/91042
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator== outnumbers StringRef::equals by a factor of 25
under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
>From e01a2282767a99d40a9792ab4105b3ad506aab80 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Tue, 30 Apr 2024 12:45:35 -0700
Subject: [PATCH] [Support] Use StringRef::operator== instead of
StringRef::equals (NFC)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator== outnumbers StringRef::equals by a factor of 25
under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
---
llvm/include/llvm/Support/VirtualFileSystem.h | 2 +-
llvm/include/llvm/Support/YAMLTraits.h | 15 +++++++--------
llvm/lib/Support/APFloat.cpp | 4 ++--
llvm/lib/Support/CodeGenCoverage.cpp | 2 +-
llvm/lib/Support/FileCollector.cpp | 2 +-
llvm/lib/Support/JSON.cpp | 2 +-
llvm/lib/Support/VirtualFileSystem.cpp | 2 +-
llvm/lib/Support/YAMLTraits.cpp | 6 +++---
8 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/llvm/include/llvm/Support/VirtualFileSystem.h b/llvm/include/llvm/Support/VirtualFileSystem.h
index 0113d6b7da25d3..49e67e7555a0db 100644
--- a/llvm/include/llvm/Support/VirtualFileSystem.h
+++ b/llvm/include/llvm/Support/VirtualFileSystem.h
@@ -961,7 +961,7 @@ class RedirectingFileSystem
// that, other than the root, path components should not contain slashes or
// backslashes.
bool pathComponentMatches(llvm::StringRef lhs, llvm::StringRef rhs) const {
- if ((CaseSensitive ? lhs.equals(rhs) : lhs.equals_insensitive(rhs)))
+ if ((CaseSensitive ? lhs == rhs : lhs.equals_insensitive(rhs)))
return true;
return (lhs == "/" && rhs == "\\") || (lhs == "\\" && rhs == "/");
}
diff --git a/llvm/include/llvm/Support/YAMLTraits.h b/llvm/include/llvm/Support/YAMLTraits.h
index 33aeb039320d0d..a234e00c760866 100644
--- a/llvm/include/llvm/Support/YAMLTraits.h
+++ b/llvm/include/llvm/Support/YAMLTraits.h
@@ -567,10 +567,10 @@ inline bool isNumeric(StringRef S) {
// Make S.front() and S.drop_front().front() (if S.front() is [+-]) calls
// safe.
- if (S.empty() || S.equals("+") || S.equals("-"))
+ if (S.empty() || S == "+" || S == "-")
return false;
- if (S.equals(".nan") || S.equals(".NaN") || S.equals(".NAN"))
+ if (S == ".nan" || S == ".NaN" || S == ".NAN")
return true;
// Infinity and decimal numbers can be prefixed with sign.
@@ -578,7 +578,7 @@ inline bool isNumeric(StringRef S) {
// Check for infinity first, because checking for hex and oct numbers is more
// expensive.
- if (Tail.equals(".inf") || Tail.equals(".Inf") || Tail.equals(".INF"))
+ if (Tail == ".inf" || Tail == ".Inf" || Tail == ".INF")
return true;
// Section 10.3.2 Tag Resolution
@@ -599,7 +599,7 @@ inline bool isNumeric(StringRef S) {
// digit after dot (as opposed by number which has digits before the dot), but
// doesn't have one.
if (S.starts_with(".") &&
- (S.equals(".") ||
+ (S == "." ||
(S.size() > 1 && std::strchr("0123456789", S[1]) == nullptr)))
return false;
@@ -656,14 +656,13 @@ inline bool isNumeric(StringRef S) {
}
inline bool isNull(StringRef S) {
- return S.equals("null") || S.equals("Null") || S.equals("NULL") ||
- S.equals("~");
+ return S == "null" || S == "Null" || S == "NULL" || S == "~";
}
inline bool isBool(StringRef S) {
// FIXME: using parseBool is causing multiple tests to fail.
- return S.equals("true") || S.equals("True") || S.equals("TRUE") ||
- S.equals("false") || S.equals("False") || S.equals("FALSE");
+ return S == "true" || S == "True" || S == "TRUE" || S == "false" ||
+ S == "False" || S == "FALSE";
}
// 5.1. Character Set
diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp
index 0a4f5ac01553f1..64a7e0c7223f07 100644
--- a/llvm/lib/Support/APFloat.cpp
+++ b/llvm/lib/Support/APFloat.cpp
@@ -3123,7 +3123,7 @@ bool IEEEFloat::convertFromStringSpecials(StringRef str) {
if (str.size() < MIN_NAME_SIZE)
return false;
- if (str.equals("inf") || str.equals("INFINITY") || str.equals("+Inf")) {
+ if (str == "inf" || str == "INFINITY" || str == "+Inf") {
makeInf(false);
return true;
}
@@ -3134,7 +3134,7 @@ bool IEEEFloat::convertFromStringSpecials(StringRef str) {
if (str.size() < MIN_NAME_SIZE)
return false;
- if (str.equals("inf") || str.equals("INFINITY") || str.equals("Inf")) {
+ if (str == "inf" || str == "INFINITY" || str == "Inf") {
makeInf(true);
return true;
}
diff --git a/llvm/lib/Support/CodeGenCoverage.cpp b/llvm/lib/Support/CodeGenCoverage.cpp
index 0df45b4ff2ba75..4d41c42e527e2e 100644
--- a/llvm/lib/Support/CodeGenCoverage.cpp
+++ b/llvm/lib/Support/CodeGenCoverage.cpp
@@ -53,7 +53,7 @@ bool CodeGenCoverage::parse(MemoryBuffer &Buffer, StringRef BackendName) {
if (CurPtr == Buffer.getBufferEnd())
return false; // Data is invalid, expected rule id's to follow.
- bool IsForThisBackend = BackendName.equals(LexedBackendName);
+ bool IsForThisBackend = BackendName == LexedBackendName;
while (CurPtr != Buffer.getBufferEnd()) {
if (std::distance(CurPtr, Buffer.getBufferEnd()) < 8)
return false; // Data is invalid. Not enough bytes for another rule id.
diff --git a/llvm/lib/Support/FileCollector.cpp b/llvm/lib/Support/FileCollector.cpp
index be0b06b0aff805..29436f85c2f23c 100644
--- a/llvm/lib/Support/FileCollector.cpp
+++ b/llvm/lib/Support/FileCollector.cpp
@@ -44,7 +44,7 @@ static bool isCaseSensitivePath(StringRef Path) {
// sensitive in the absence of real_path, since this is the YAMLVFSWriter
// default.
UpperDest = Path.upper();
- if (!sys::fs::real_path(UpperDest, RealDest) && Path.equals(RealDest))
+ if (!sys::fs::real_path(UpperDest, RealDest) && Path == RealDest)
return false;
return true;
}
diff --git a/llvm/lib/Support/JSON.cpp b/llvm/lib/Support/JSON.cpp
index c672a43b033ef0..2f9c1df3d20b23 100644
--- a/llvm/lib/Support/JSON.cpp
+++ b/llvm/lib/Support/JSON.cpp
@@ -336,7 +336,7 @@ void Path::Root::printErrorContext(const Value &R, raw_ostream &OS) const {
JOS.object([&] {
for (const auto *KV : sortedElements(*O)) {
JOS.attributeBegin(KV->first);
- if (FieldName.equals(KV->first))
+ if (FieldName == StringRef(KV->first))
Recurse(KV->second, Path.drop_back(), Recurse);
else
abbreviate(KV->second, JOS);
diff --git a/llvm/lib/Support/VirtualFileSystem.cpp b/llvm/lib/Support/VirtualFileSystem.cpp
index 921af30bfcde9f..152fcfe695b297 100644
--- a/llvm/lib/Support/VirtualFileSystem.cpp
+++ b/llvm/lib/Support/VirtualFileSystem.cpp
@@ -157,7 +157,7 @@ void FileSystem::dump() const { print(dbgs(), PrintType::RecursiveContents); }
#ifndef NDEBUG
static bool isTraversalComponent(StringRef Component) {
- return Component.equals("..") || Component.equals(".");
+ return Component == ".." || Component == ".";
}
static bool pathHasTraversal(StringRef Path) {
diff --git a/llvm/lib/Support/YAMLTraits.cpp b/llvm/lib/Support/YAMLTraits.cpp
index 7bb60894b33547..56b557646100b1 100644
--- a/llvm/lib/Support/YAMLTraits.cpp
+++ b/llvm/lib/Support/YAMLTraits.cpp
@@ -120,7 +120,7 @@ bool Input::mapTag(StringRef Tag, bool Default) {
return Default;
}
// Return true iff found tag matches supplied tag.
- return Tag.equals(foundTag);
+ return Tag == foundTag;
}
void Input::beginMapping() {
@@ -271,7 +271,7 @@ bool Input::matchEnumScalar(const char *Str, bool) {
if (ScalarMatchFound)
return false;
if (ScalarHNode *SN = dyn_cast<ScalarHNode>(CurrentNode)) {
- if (SN->value().equals(Str)) {
+ if (SN->value() == Str) {
ScalarMatchFound = true;
return true;
}
@@ -310,7 +310,7 @@ bool Input::bitSetMatch(const char *Str, bool) {
unsigned Index = 0;
for (auto &N : SQ->Entries) {
if (ScalarHNode *SN = dyn_cast<ScalarHNode>(N)) {
- if (SN->value().equals(Str)) {
+ if (SN->value() == Str) {
BitValuesUsed[Index] = true;
return true;
}
More information about the llvm-commits
mailing list