[llvm] b181f66 - [X86] Use StringRef::consume_back (NFC) (#139417)
via llvm-commits
llvm-commits at lists.llvm.org
Sun May 11 07:12:27 PDT 2025
Author: Kazu Hirata
Date: 2025-05-11T07:12:24-07:00
New Revision: b181f66e6fef2c7ad12ad651574a053733402c0f
URL: https://github.com/llvm/llvm-project/commit/b181f66e6fef2c7ad12ad651574a053733402c0f
DIFF: https://github.com/llvm/llvm-project/commit/b181f66e6fef2c7ad12ad651574a053733402c0f.diff
LOG: [X86] Use StringRef::consume_back (NFC) (#139417)
This patch uses consume_back while changing the type of TrailingDot to
bool, indicating whether we have consumed "." or not.
Added:
Modified:
llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 86b4d8254355b..642a9cff4853c 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -2378,7 +2378,7 @@ bool X86AsmParser::ParseIntelDotOperator(IntelExprStateMachine &SM,
// Drop the optional '.'.
StringRef DotDispStr = Tok.getString();
DotDispStr.consume_front(".");
- StringRef TrailingDot;
+ bool TrailingDot = false;
// .Imm gets lexed as a real.
if (Tok.is(AsmToken::Real)) {
@@ -2388,10 +2388,7 @@ bool X86AsmParser::ParseIntelDotOperator(IntelExprStateMachine &SM,
Info.Offset = DotDisp.getZExtValue();
} else if ((isParsingMSInlineAsm() || getParser().isParsingMasm()) &&
Tok.is(AsmToken::Identifier)) {
- if (DotDispStr.ends_with(".")) {
- TrailingDot = DotDispStr.substr(DotDispStr.size() - 1);
- DotDispStr = DotDispStr.drop_back(1);
- }
+ TrailingDot = DotDispStr.consume_back(".");
const std::pair<StringRef, StringRef> BaseMember = DotDispStr.split('.');
const StringRef Base = BaseMember.first, Member = BaseMember.second;
if (getParser().lookUpField(SM.getType(), DotDispStr, Info) &&
@@ -2409,8 +2406,8 @@ bool X86AsmParser::ParseIntelDotOperator(IntelExprStateMachine &SM,
const char *DotExprEndLoc = DotDispStr.data() + DotDispStr.size();
while (Tok.getLoc().getPointer() < DotExprEndLoc)
Lex();
- if (!TrailingDot.empty())
- getLexer().UnLex(AsmToken(AsmToken::Dot, TrailingDot));
+ if (TrailingDot)
+ getLexer().UnLex(AsmToken(AsmToken::Dot, "."));
SM.addImm(Info.Offset);
SM.setTypeInfo(Info.Type);
return false;
More information about the llvm-commits
mailing list