Skip to content

Commit 395f9ce

Browse files
Use StringRef::{starts,ends}_with (NFC)
This patch replaces uses of StringRef::{starts,ends}with with StringRef::{starts,ends}_with for consistency with std::{string,string_view}::{starts,ends}_with in C++20. I'm planning to deprecate and eventually remove StringRef::{starts,ends}with.
1 parent f49e2b0 commit 395f9ce

File tree

9 files changed

+39
-39
lines changed

9 files changed

+39
-39
lines changed

clang/lib/Lex/HeaderSearch.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1671,7 +1671,7 @@ static OptionalFileEntryRef getPrivateModuleMap(FileEntryRef File,
16711671
if (Filename == "module.map")
16721672
Diags.Report(diag::warn_deprecated_module_dot_map)
16731673
<< PrivateFilename << 1
1674-
<< File.getDir().getName().endswith(".framework");
1674+
<< File.getDir().getName().ends_with(".framework");
16751675
}
16761676
return PMMFile;
16771677
}

llvm/lib/IR/AutoUpgrade.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5220,7 +5220,7 @@ std::string llvm::UpgradeDataLayoutString(StringRef DL, StringRef TT) {
52205220
Res.append("-p7:160:256:256:32");
52215221
if (!DL.contains("-p8") && !DL.starts_with("p8"))
52225222
Res.append("-p8:128:128");
5223-
if (!DL.contains("-p9") && !DL.startswith("p9"))
5223+
if (!DL.contains("-p9") && !DL.starts_with("p9"))
52245224
Res.append("-p9:192:256:256:32");
52255225

52265226
return Res;

llvm/lib/Target/DirectX/DXILResource.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ void UAVResource::parseSourceType(StringRef S) {
261261
S = S.substr(S.find("<") + 1);
262262

263263
constexpr size_t PrefixLen = StringRef("vector<").size();
264-
if (S.startswith("vector<"))
264+
if (S.starts_with("vector<"))
265265
S = S.substr(PrefixLen, S.find(",") - PrefixLen);
266266
else
267267
S = S.substr(0, S.find(">"));

llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ std::string getLinkStringForBuiltIn(SPIRV::BuiltIn::BuiltIn BuiltInValue) {
177177
bool getSpirvBuiltInIdByName(llvm::StringRef Name,
178178
SPIRV::BuiltIn::BuiltIn &BI) {
179179
const std::string Prefix = "__spirv_BuiltIn";
180-
if (!Name.startswith(Prefix))
180+
if (!Name.starts_with(Prefix))
181181
return false;
182182

183183
const SPIRV::SymbolicOperand *Lookup =

llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -872,8 +872,8 @@ static bool generateGroupInst(const SPIRV::IncomingCall *Call,
872872
std::tie(GroupResultRegister, GroupResultType) =
873873
buildBoolRegister(MIRBuilder, Call->ReturnType, GR);
874874

875-
auto Scope = Builtin->Name.startswith("sub_group") ? SPIRV::Scope::Subgroup
876-
: SPIRV::Scope::Workgroup;
875+
auto Scope = Builtin->Name.starts_with("sub_group") ? SPIRV::Scope::Subgroup
876+
: SPIRV::Scope::Workgroup;
877877
Register ScopeRegister = buildConstantIntReg(Scope, MIRBuilder, GR);
878878

879879
// Build work/sub group instruction.
@@ -1999,13 +1999,13 @@ struct OpenCLType {
19991999
//===----------------------------------------------------------------------===//
20002000

20012001
static Type *parseTypeString(const StringRef Name, LLVMContext &Context) {
2002-
if (Name.startswith("void"))
2002+
if (Name.starts_with("void"))
20032003
return Type::getVoidTy(Context);
2004-
else if (Name.startswith("int") || Name.startswith("uint"))
2004+
else if (Name.starts_with("int") || Name.starts_with("uint"))
20052005
return Type::getInt32Ty(Context);
2006-
else if (Name.startswith("float"))
2006+
else if (Name.starts_with("float"))
20072007
return Type::getFloatTy(Context);
2008-
else if (Name.startswith("half"))
2008+
else if (Name.starts_with("half"))
20092009
return Type::getHalfTy(Context);
20102010
llvm_unreachable("Unable to recognize type!");
20112011
}
@@ -2081,7 +2081,7 @@ parseBuiltinTypeNameToTargetExtType(std::string TypeName,
20812081
// Pointers-to-opaque-structs representing OpenCL types are first translated
20822082
// to equivalent SPIR-V types. OpenCL builtin type names should have the
20832083
// following format: e.g. %opencl.event_t
2084-
if (NameWithParameters.startswith("opencl.")) {
2084+
if (NameWithParameters.starts_with("opencl.")) {
20852085
const SPIRV::OpenCLType *OCLTypeRecord =
20862086
SPIRV::lookupOpenCLType(NameWithParameters);
20872087
if (!OCLTypeRecord)
@@ -2093,7 +2093,7 @@ parseBuiltinTypeNameToTargetExtType(std::string TypeName,
20932093

20942094
// Names of the opaque structs representing a SPIR-V builtins without
20952095
// parameters should have the following format: e.g. %spirv.Event
2096-
assert(NameWithParameters.startswith("spirv.") &&
2096+
assert(NameWithParameters.starts_with("spirv.") &&
20972097
"Unknown builtin opaque type!");
20982098

20992099
// Parameterized SPIR-V builtins names follow this format:

llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -962,35 +962,35 @@ SPIRVType *SPIRVGlobalRegistry::getOrCreateSPIRVTypeByName(
962962
if (TypeStr.starts_with("atomic_"))
963963
TypeStr = TypeStr.substr(strlen("atomic_"));
964964

965-
if (TypeStr.startswith("void")) {
965+
if (TypeStr.starts_with("void")) {
966966
Ty = Type::getVoidTy(Ctx);
967967
TypeStr = TypeStr.substr(strlen("void"));
968-
} else if (TypeStr.startswith("bool")) {
968+
} else if (TypeStr.starts_with("bool")) {
969969
Ty = Type::getIntNTy(Ctx, 1);
970970
TypeStr = TypeStr.substr(strlen("bool"));
971-
} else if (TypeStr.startswith("char") || TypeStr.startswith("uchar")) {
971+
} else if (TypeStr.starts_with("char") || TypeStr.starts_with("uchar")) {
972972
Ty = Type::getInt8Ty(Ctx);
973-
TypeStr = TypeStr.startswith("char") ? TypeStr.substr(strlen("char"))
974-
: TypeStr.substr(strlen("uchar"));
975-
} else if (TypeStr.startswith("short") || TypeStr.startswith("ushort")) {
973+
TypeStr = TypeStr.starts_with("char") ? TypeStr.substr(strlen("char"))
974+
: TypeStr.substr(strlen("uchar"));
975+
} else if (TypeStr.starts_with("short") || TypeStr.starts_with("ushort")) {
976976
Ty = Type::getInt16Ty(Ctx);
977-
TypeStr = TypeStr.startswith("short") ? TypeStr.substr(strlen("short"))
978-
: TypeStr.substr(strlen("ushort"));
979-
} else if (TypeStr.startswith("int") || TypeStr.startswith("uint")) {
977+
TypeStr = TypeStr.starts_with("short") ? TypeStr.substr(strlen("short"))
978+
: TypeStr.substr(strlen("ushort"));
979+
} else if (TypeStr.starts_with("int") || TypeStr.starts_with("uint")) {
980980
Ty = Type::getInt32Ty(Ctx);
981-
TypeStr = TypeStr.startswith("int") ? TypeStr.substr(strlen("int"))
982-
: TypeStr.substr(strlen("uint"));
981+
TypeStr = TypeStr.starts_with("int") ? TypeStr.substr(strlen("int"))
982+
: TypeStr.substr(strlen("uint"));
983983
} else if (TypeStr.starts_with("long") || TypeStr.starts_with("ulong")) {
984984
Ty = Type::getInt64Ty(Ctx);
985-
TypeStr = TypeStr.startswith("long") ? TypeStr.substr(strlen("long"))
986-
: TypeStr.substr(strlen("ulong"));
987-
} else if (TypeStr.startswith("half")) {
985+
TypeStr = TypeStr.starts_with("long") ? TypeStr.substr(strlen("long"))
986+
: TypeStr.substr(strlen("ulong"));
987+
} else if (TypeStr.starts_with("half")) {
988988
Ty = Type::getHalfTy(Ctx);
989989
TypeStr = TypeStr.substr(strlen("half"));
990-
} else if (TypeStr.startswith("float")) {
990+
} else if (TypeStr.starts_with("float")) {
991991
Ty = Type::getFloatTy(Ctx);
992992
TypeStr = TypeStr.substr(strlen("float"));
993-
} else if (TypeStr.startswith("double")) {
993+
} else if (TypeStr.starts_with("double")) {
994994
Ty = Type::getDoubleTy(Ctx);
995995
TypeStr = TypeStr.substr(strlen("double"));
996996
} else
@@ -1007,7 +1007,7 @@ SPIRVType *SPIRVGlobalRegistry::getOrCreateSPIRVTypeByName(
10071007
// Handle "typeN*" or "type vector[N]*".
10081008
bool IsPtrToVec = TypeStr.consume_back("*");
10091009

1010-
if (TypeStr.startswith(" vector[")) {
1010+
if (TypeStr.starts_with(" vector[")) {
10111011
TypeStr = TypeStr.substr(strlen(" vector["));
10121012
TypeStr = TypeStr.substr(0, TypeStr.find(']'));
10131013
}

llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@ void SPIRVRegularizer::visitCallInst(CallInst &CI) {
177177
StringRef DemangledName(NameStr);
178178

179179
// TODO: add support for other builtins.
180-
if (DemangledName.startswith("fmin") || DemangledName.startswith("fmax") ||
181-
DemangledName.startswith("min") || DemangledName.startswith("max"))
180+
if (DemangledName.starts_with("fmin") || DemangledName.starts_with("fmax") ||
181+
DemangledName.starts_with("min") || DemangledName.starts_with("max"))
182182
visitCallScalToVec(&CI, MangledName, DemangledName);
183183
free(NameStr);
184184
}

llvm/lib/Target/SPIRV/SPIRVUtils.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ static bool isKernelQueryBI(const StringRef MangledName) {
279279
}
280280

281281
static bool isNonMangledOCLBuiltin(StringRef Name) {
282-
if (!Name.startswith("__"))
282+
if (!Name.starts_with("__"))
283283
return false;
284284

285285
return isEnqueueKernelBI(Name) || isKernelQueryBI(Name) ||
@@ -289,8 +289,8 @@ static bool isNonMangledOCLBuiltin(StringRef Name) {
289289

290290
std::string getOclOrSpirvBuiltinDemangledName(StringRef Name) {
291291
bool IsNonMangledOCL = isNonMangledOCLBuiltin(Name);
292-
bool IsNonMangledSPIRV = Name.startswith("__spirv_");
293-
bool IsMangled = Name.startswith("_Z");
292+
bool IsNonMangledSPIRV = Name.starts_with("__spirv_");
293+
bool IsMangled = Name.starts_with("_Z");
294294

295295
if (!IsNonMangledOCL && !IsNonMangledSPIRV && !IsMangled)
296296
return std::string();
@@ -311,7 +311,7 @@ std::string getOclOrSpirvBuiltinDemangledName(StringRef Name) {
311311
// Similar to ::std:: in C++.
312312
size_t Start, Len = 0;
313313
size_t DemangledNameLenStart = 2;
314-
if (Name.startswith("_ZN")) {
314+
if (Name.starts_with("_ZN")) {
315315
// Skip CV and ref qualifiers.
316316
size_t NameSpaceStart = Name.find_first_not_of("rVKRO", 3);
317317
// All built-ins are in the ::cl:: namespace.

llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -598,8 +598,8 @@ bool XtensaAsmParser::parseOperand(OperandVector &Operands, StringRef Mnemonic,
598598
bool XtensaAsmParser::ParseInstructionWithSR(ParseInstructionInfo &Info,
599599
StringRef Name, SMLoc NameLoc,
600600
OperandVector &Operands) {
601-
if ((Name.startswith("wsr.") || Name.startswith("rsr.") ||
602-
Name.startswith("xsr.")) &&
601+
if ((Name.starts_with("wsr.") || Name.starts_with("rsr.") ||
602+
Name.starts_with("xsr.")) &&
603603
(Name.size() > 4)) {
604604
// Parse case when instruction name is concatenated with SR register
605605
// name, like "wsr.sar a1"
@@ -655,8 +655,8 @@ bool XtensaAsmParser::ParseInstructionWithSR(ParseInstructionInfo &Info,
655655
bool XtensaAsmParser::ParseInstruction(ParseInstructionInfo &Info,
656656
StringRef Name, SMLoc NameLoc,
657657
OperandVector &Operands) {
658-
if (Name.startswith("wsr") || Name.startswith("rsr") ||
659-
Name.startswith("xsr")) {
658+
if (Name.starts_with("wsr") || Name.starts_with("rsr") ||
659+
Name.starts_with("xsr")) {
660660
return ParseInstructionWithSR(Info, Name, NameLoc, Operands);
661661
}
662662

0 commit comments

Comments
 (0)