[llvm] b6a9618 - [MCParser] Rename confusing variable names
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 4 21:04:11 PDT 2025
Author: Fangrui Song
Date: 2025-04-04T21:04:06-07:00
New Revision: b6a96183015e99ec554f7a6b8c35a0e679b8ba39
URL: https://github.com/llvm/llvm-project/commit/b6a96183015e99ec554f7a6b8c35a0e679b8ba39
DIFF: https://github.com/llvm/llvm-project/commit/b6a96183015e99ec554f7a6b8c35a0e679b8ba39.diff
LOG: [MCParser] Rename confusing variable names
https://reviews.llvm.org/D24047 added `IsAtStartOfStatement` to
MCAsmLexer, while its subclass AsmLexer had a variable of the same name.
The assignment in `UnLex` is unnecessary, which is now removed.
60b403e75cd25a0c76aaaf4e6b176923acf49443 (2019) named the result
`parseStatement` `Parsed`. `HasError` is a clearer name.
Added:
Modified:
llvm/include/llvm/MC/MCParser/AsmLexer.h
llvm/lib/MC/MCParser/AsmParser.cpp
llvm/lib/MC/MCParser/MasmParser.cpp
llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/MC/MCParser/AsmLexer.h b/llvm/include/llvm/MC/MCParser/AsmLexer.h
index bf4aa09df613f..ba07837bcddf3 100644
--- a/llvm/include/llvm/MC/MCParser/AsmLexer.h
+++ b/llvm/include/llvm/MC/MCParser/AsmLexer.h
@@ -53,7 +53,7 @@ class AsmLexer {
const MCAsmInfo &MAI;
bool IsAtStartOfLine = true;
- bool AtStartOfStatement = true;
+ bool JustConsumedEOL = true;
bool IsPeeking = false;
bool EndStatementAtEOF = true;
@@ -91,7 +91,7 @@ class AsmLexer {
const AsmToken &Lex() {
assert(!CurTok.empty());
// Mark if we parsing out a EndOfStatement.
- AtStartOfStatement = CurTok.front().getKind() == AsmToken::EndOfStatement;
+ JustConsumedEOL = CurTok.front().getKind() == AsmToken::EndOfStatement;
CurTok.erase(CurTok.begin());
// LexToken may generate multiple tokens via UnLex but will always return
// the first one. Place returned value at head of CurTok vector.
@@ -103,11 +103,10 @@ class AsmLexer {
}
void UnLex(AsmToken const &Token) {
- AtStartOfStatement = false;
CurTok.insert(CurTok.begin(), Token);
}
- bool isAtStartOfStatement() { return AtStartOfStatement; }
+ bool justConsumedEOL() { return JustConsumedEOL; }
StringRef LexUntilEndOfStatement();
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 71f2bdbdf0b16..d743c73ffcf10 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -981,20 +981,19 @@ bool AsmParser::Run(bool NoInitialTextSection, bool NoFinalize) {
// While we have input, parse each statement.
while (Lexer.isNot(AsmToken::Eof)) {
ParseStatementInfo Info(&AsmStrRewrites);
- bool Parsed = parseStatement(Info, nullptr);
+ bool HasError = parseStatement(Info, nullptr);
// If we have a Lexer Error we are on an Error Token. Load in Lexer Error
// for printing ErrMsg via Lex() only if no (presumably better) parser error
// exists.
- if (Parsed && !hasPendingError() && Lexer.getTok().is(AsmToken::Error)) {
+ if (HasError && !hasPendingError() && Lexer.getTok().is(AsmToken::Error))
Lex();
- }
// parseStatement returned true so may need to emit an error.
printPendingErrors();
// Skipping to the next line if needed.
- if (Parsed && !getLexer().isAtStartOfStatement())
+ if (HasError && !getLexer().justConsumedEOL())
eatToEndOfStatement();
}
diff --git a/llvm/lib/MC/MCParser/MasmParser.cpp b/llvm/lib/MC/MCParser/MasmParser.cpp
index 64a97ecf68277..874bf187d5242 100644
--- a/llvm/lib/MC/MCParser/MasmParser.cpp
+++ b/llvm/lib/MC/MCParser/MasmParser.cpp
@@ -1100,6 +1100,7 @@ bool MasmParser::expandMacros() {
const AsmToken &MasmParser::Lex(ExpandKind ExpandNextToken) {
if (Lexer.getTok().is(AsmToken::Error))
Error(Lexer.getErrLoc(), Lexer.getErr());
+ bool StartOfStatement = false;
// if it's a end of statement with a comment in it
if (getTok().is(AsmToken::EndOfStatement)) {
@@ -1107,10 +1108,10 @@ const AsmToken &MasmParser::Lex(ExpandKind ExpandNextToken) {
if (!getTok().getString().empty() && getTok().getString().front() != '\n' &&
getTok().getString().front() != '\r' && MAI.preserveAsmComments())
Out.addExplicitComment(Twine(getTok().getString()));
+ StartOfStatement = true;
}
const AsmToken *tok = &Lexer.Lex();
- bool StartOfStatement = Lexer.isAtStartOfStatement();
while (ExpandNextToken == ExpandMacros && tok->is(AsmToken::Identifier)) {
if (StartOfStatement) {
@@ -1203,20 +1204,19 @@ bool MasmParser::Run(bool NoInitialTextSection, bool NoFinalize) {
Lex();
ParseStatementInfo Info(&AsmStrRewrites);
- bool Parsed = parseStatement(Info, nullptr);
+ bool HasError = parseStatement(Info, nullptr);
// If we have a Lexer Error we are on an Error Token. Load in Lexer Error
// for printing ErrMsg via Lex() only if no (presumably better) parser error
// exists.
- if (Parsed && !hasPendingError() && Lexer.getTok().is(AsmToken::Error)) {
+ if (HasError && !hasPendingError() && Lexer.getTok().is(AsmToken::Error))
Lex();
- }
// parseStatement returned true so may need to emit an error.
printPendingErrors();
// Skipping to the next line if needed.
- if (Parsed && !getLexer().isAtStartOfStatement())
+ if (HasError && !getLexer().justConsumedEOL())
eatToEndOfStatement();
}
@@ -2802,9 +2802,9 @@ bool MasmParser::handleMacroInvocation(const MCAsmMacro *M, SMLoc NameLoc) {
SmallVector<AsmRewrite, 4> AsmStrRewrites;
while (Lexer.isNot(AsmToken::Eof)) {
ParseStatementInfo Info(&AsmStrRewrites);
- bool Parsed = parseStatement(Info, nullptr);
+ bool HasError = parseStatement(Info, nullptr);
- if (!Parsed && Info.ExitValue) {
+ if (!HasError && Info.ExitValue) {
ExitValue = std::move(*Info.ExitValue);
break;
}
@@ -2812,15 +2812,14 @@ bool MasmParser::handleMacroInvocation(const MCAsmMacro *M, SMLoc NameLoc) {
// If we have a Lexer Error we are on an Error Token. Load in Lexer Error
// for printing ErrMsg via Lex() only if no (presumably better) parser error
// exists.
- if (Parsed && !hasPendingError() && Lexer.getTok().is(AsmToken::Error)) {
+ if (HasError && !hasPendingError() && Lexer.getTok().is(AsmToken::Error))
Lex();
- }
// parseStatement returned true so may need to emit an error.
printPendingErrors();
// Skipping to the next line if needed.
- if (Parsed && !getLexer().isAtStartOfStatement())
+ if (HasError && !getLexer().justConsumedEOL())
eatToEndOfStatement();
}
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index cd38ac85dac7a..8221679f1969c 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1097,8 +1097,6 @@ class X86AsmParser : public MCTargetAsmParser {
bool MatchingInlineAsm = false) {
MCAsmParser &Parser = getParser();
if (MatchingInlineAsm) {
- if (!getLexer().isAtStartOfStatement())
- Parser.eatToEndOfStatement();
return false;
}
return Parser.Error(L, Msg, Range);
More information about the llvm-commits
mailing list