Skip to content

Commit fde7550

Browse files
committed
[AArch64][AsmParser] NFC: when creating a token IsSuffix=false should be default
Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D106568
1 parent e8f9540 commit fde7550

File tree

1 file changed

+43
-54
lines changed

1 file changed

+43
-54
lines changed

llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp

Lines changed: 43 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1944,7 +1944,7 @@ class AArch64Operand : public MCParsedAsmOperand {
19441944
void print(raw_ostream &OS) const override;
19451945

19461946
static std::unique_ptr<AArch64Operand>
1947-
CreateToken(StringRef Str, bool IsSuffix, SMLoc S, MCContext &Ctx) {
1947+
CreateToken(StringRef Str, SMLoc S, MCContext &Ctx, bool IsSuffix = false) {
19481948
auto Op = std::make_unique<AArch64Operand>(k_Token, Ctx);
19491949
Op->Tok.Data = Str.data();
19501950
Op->Tok.Length = Str.size();
@@ -2875,10 +2875,8 @@ AArch64AsmParser::tryParseFPImm(OperandVector &Operands) {
28752875
RealVal.changeSign();
28762876

28772877
if (AddFPZeroAsLiteral && RealVal.isPosZero()) {
2878-
Operands.push_back(
2879-
AArch64Operand::CreateToken("#0", false, S, getContext()));
2880-
Operands.push_back(
2881-
AArch64Operand::CreateToken(".0", false, S, getContext()));
2878+
Operands.push_back(AArch64Operand::CreateToken("#0", S, getContext()));
2879+
Operands.push_back(AArch64Operand::CreateToken(".0", S, getContext()));
28822880
} else
28832881
Operands.push_back(AArch64Operand::CreateFPImm(
28842882
RealVal, *StatusOrErr == APFloat::opOK, S, getContext()));
@@ -3274,8 +3272,7 @@ bool AArch64AsmParser::parseSysAlias(StringRef Name, SMLoc NameLoc,
32743272
return TokError("invalid operand");
32753273

32763274
Mnemonic = Name;
3277-
Operands.push_back(
3278-
AArch64Operand::CreateToken("sys", false, NameLoc, getContext()));
3275+
Operands.push_back(AArch64Operand::CreateToken("sys", NameLoc, getContext()));
32793276

32803277
MCAsmParser &Parser = getParser();
32813278
const AsmToken &Tok = Parser.getTok();
@@ -3551,8 +3548,7 @@ bool AArch64AsmParser::tryParseNeonVectorRegister(OperandVector &Operands) {
35513548
// If there was an explicit qualifier, that goes on as a literal text
35523549
// operand.
35533550
if (!Kind.empty())
3554-
Operands.push_back(
3555-
AArch64Operand::CreateToken(Kind, false, S, getContext()));
3551+
Operands.push_back(AArch64Operand::CreateToken(Kind, S, getContext()));
35563552

35573553
return tryParseVectorIndex(Operands) == MatchOperand_ParseFail;
35583554
}
@@ -3658,8 +3654,7 @@ AArch64AsmParser::tryParseSVEPredicateVector(OperandVector &Operands) {
36583654
}
36593655

36603656
// Add a literal slash as operand
3661-
Operands.push_back(
3662-
AArch64Operand::CreateToken("/" , false, getLoc(), getContext()));
3657+
Operands.push_back(AArch64Operand::CreateToken("/", getLoc(), getContext()));
36633658

36643659
Parser.Lex(); // Eat the slash.
36653660

@@ -3672,8 +3667,7 @@ AArch64AsmParser::tryParseSVEPredicateVector(OperandVector &Operands) {
36723667

36733668
// Add zero/merge token.
36743669
const char *ZM = Pred == "z" ? "z" : "m";
3675-
Operands.push_back(
3676-
AArch64Operand::CreateToken(ZM, false, getLoc(), getContext()));
3670+
Operands.push_back(AArch64Operand::CreateToken(ZM, getLoc(), getContext()));
36773671

36783672
Parser.Lex(); // Eat zero/merge token.
36793673
return MatchOperand_Success;
@@ -3985,12 +3979,12 @@ bool AArch64AsmParser::parseOptionalMulOperand(OperandVector &Operands) {
39853979
return true;
39863980

39873981
Operands.push_back(
3988-
AArch64Operand::CreateToken("mul", false, getLoc(), getContext()));
3982+
AArch64Operand::CreateToken("mul", getLoc(), getContext()));
39893983
Parser.Lex(); // Eat the "mul"
39903984

39913985
if (NextIsVL) {
39923986
Operands.push_back(
3993-
AArch64Operand::CreateToken("vl", false, getLoc(), getContext()));
3987+
AArch64Operand::CreateToken("vl", getLoc(), getContext()));
39943988
Parser.Lex(); // Eat the "vl"
39953989
return false;
39963990
}
@@ -4025,7 +4019,7 @@ bool AArch64AsmParser::parseKeywordOperand(OperandVector &Operands) {
40254019
.Case("za", "za")
40264020
.Default(Keyword);
40274021
Operands.push_back(
4028-
AArch64Operand::CreateToken(Keyword, false, Tok.getLoc(), getContext()));
4022+
AArch64Operand::CreateToken(Keyword, Tok.getLoc(), getContext()));
40294023

40304024
Parser.Lex();
40314025
return false;
@@ -4065,8 +4059,7 @@ bool AArch64AsmParser::parseOperand(OperandVector &Operands, bool isCondCode,
40654059
}
40664060
case AsmToken::LBrac: {
40674061
SMLoc Loc = Parser.getTok().getLoc();
4068-
Operands.push_back(AArch64Operand::CreateToken("[", false, Loc,
4069-
getContext()));
4062+
Operands.push_back(AArch64Operand::CreateToken("[", Loc, getContext()));
40704063
Parser.Lex(); // Eat '['
40714064

40724065
// There's no comma after a '[', so we can parse the next operand
@@ -4078,8 +4071,7 @@ bool AArch64AsmParser::parseOperand(OperandVector &Operands, bool isCondCode,
40784071
return false;
40794072

40804073
SMLoc Loc = Parser.getTok().getLoc();
4081-
Operands.push_back(
4082-
AArch64Operand::CreateToken("{", false, Loc, getContext()));
4074+
Operands.push_back(AArch64Operand::CreateToken("{", Loc, getContext()));
40834075
Parser.Lex(); // Eat '{'
40844076

40854077
// There's no comma after a '{', so we can parse the next operand
@@ -4159,10 +4151,8 @@ bool AArch64AsmParser::parseOperand(OperandVector &Operands, bool isCondCode,
41594151
return TokError("expected floating-point constant #0.0");
41604152
Parser.Lex(); // Eat the token.
41614153

4162-
Operands.push_back(
4163-
AArch64Operand::CreateToken("#0", false, S, getContext()));
4164-
Operands.push_back(
4165-
AArch64Operand::CreateToken(".0", false, S, getContext()));
4154+
Operands.push_back(AArch64Operand::CreateToken("#0", S, getContext()));
4155+
Operands.push_back(AArch64Operand::CreateToken(".0", S, getContext()));
41664156
return false;
41674157
}
41684158

@@ -4202,9 +4192,9 @@ bool AArch64AsmParser::parseOperand(OperandVector &Operands, bool isCondCode,
42024192
Imm >>= 16;
42034193
}
42044194
if (ShiftAmt <= MaxShiftAmt && Imm <= 0xFFFF) {
4205-
Operands[0] = AArch64Operand::CreateToken("movz", false, Loc, Ctx);
4206-
Operands.push_back(AArch64Operand::CreateImm(
4207-
MCConstantExpr::create(Imm, Ctx), S, E, Ctx));
4195+
Operands[0] = AArch64Operand::CreateToken("movz", Loc, Ctx);
4196+
Operands.push_back(AArch64Operand::CreateImm(
4197+
MCConstantExpr::create(Imm, Ctx), S, E, Ctx));
42084198
if (ShiftAmt)
42094199
Operands.push_back(AArch64Operand::CreateShiftExtend(AArch64_AM::LSL,
42104200
ShiftAmt, true, S, E, Ctx));
@@ -4354,8 +4344,7 @@ bool AArch64AsmParser::ParseInstruction(ParseInstructionInfo &Info,
43544344
Head == "cfp" || Head == "dvp" || Head == "cpp")
43554345
return parseSysAlias(Head, NameLoc, Operands);
43564346

4357-
Operands.push_back(
4358-
AArch64Operand::CreateToken(Head, false, NameLoc, getContext()));
4347+
Operands.push_back(AArch64Operand::CreateToken(Head, NameLoc, getContext()));
43594348
Mnemonic = Head;
43604349

43614350
// Handle condition codes for a branch mnemonic
@@ -4369,8 +4358,8 @@ bool AArch64AsmParser::ParseInstruction(ParseInstructionInfo &Info,
43694358
AArch64CC::CondCode CC = parseCondCodeString(Head);
43704359
if (CC == AArch64CC::Invalid)
43714360
return Error(SuffixLoc, "invalid condition code");
4372-
Operands.push_back(
4373-
AArch64Operand::CreateToken(".", true, SuffixLoc, getContext()));
4361+
Operands.push_back(AArch64Operand::CreateToken(".", SuffixLoc, getContext(),
4362+
/*IsSuffix=*/true));
43744363
Operands.push_back(
43754364
AArch64Operand::CreateCondCode(CC, NameLoc, NameLoc, getContext()));
43764365
}
@@ -4382,8 +4371,8 @@ bool AArch64AsmParser::ParseInstruction(ParseInstructionInfo &Info,
43824371
Head = Name.slice(Start, Next);
43834372
SMLoc SuffixLoc = SMLoc::getFromPointer(NameLoc.getPointer() +
43844373
(Head.data() - Name.data()) + 1);
4385-
Operands.push_back(
4386-
AArch64Operand::CreateToken(Head, true, SuffixLoc, getContext()));
4374+
Operands.push_back(AArch64Operand::CreateToken(
4375+
Head, SuffixLoc, getContext(), /*IsSuffix=*/true));
43874376
}
43884377

43894378
// Conditional compare instructions have a Condition Code operand, which needs
@@ -4432,13 +4421,13 @@ bool AArch64AsmParser::ParseInstruction(ParseInstructionInfo &Info,
44324421

44334422
if (parseOptionalToken(AsmToken::RBrac))
44344423
Operands.push_back(
4435-
AArch64Operand::CreateToken("]", false, getLoc(), getContext()));
4424+
AArch64Operand::CreateToken("]", getLoc(), getContext()));
44364425
if (parseOptionalToken(AsmToken::Exclaim))
44374426
Operands.push_back(
4438-
AArch64Operand::CreateToken("!", false, getLoc(), getContext()));
4427+
AArch64Operand::CreateToken("!", getLoc(), getContext()));
44394428
if (parseOptionalToken(AsmToken::RCurly))
44404429
Operands.push_back(
4441-
AArch64Operand::CreateToken("}", false, getLoc(), getContext()));
4430+
AArch64Operand::CreateToken("}", getLoc(), getContext()));
44424431

44434432
++N;
44444433
} while (parseOptionalToken(AsmToken::Comma));
@@ -5144,8 +5133,8 @@ bool AArch64AsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
51445133
const MCExpr *NewOp3 = MCConstantExpr::create(NewOp3Val, getContext());
51455134
const MCExpr *NewOp4 = MCConstantExpr::create(NewOp4Val, getContext());
51465135

5147-
Operands[0] = AArch64Operand::CreateToken(
5148-
"ubfm", false, Op.getStartLoc(), getContext());
5136+
Operands[0] =
5137+
AArch64Operand::CreateToken("ubfm", Op.getStartLoc(), getContext());
51495138
Operands.push_back(AArch64Operand::CreateImm(
51505139
NewOp4, Op3.getStartLoc(), Op3.getEndLoc(), getContext()));
51515140
Operands[3] = AArch64Operand::CreateImm(NewOp3, Op3.getStartLoc(),
@@ -5194,8 +5183,8 @@ bool AArch64AsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
51945183

51955184
const MCExpr *ImmRExpr = MCConstantExpr::create(ImmR, getContext());
51965185
const MCExpr *ImmSExpr = MCConstantExpr::create(ImmS, getContext());
5197-
Operands[0] = AArch64Operand::CreateToken(
5198-
"bfm", false, Op.getStartLoc(), getContext());
5186+
Operands[0] =
5187+
AArch64Operand::CreateToken("bfm", Op.getStartLoc(), getContext());
51995188
Operands[2] = AArch64Operand::CreateReg(
52005189
RegWidth == 32 ? AArch64::WZR : AArch64::XZR, RegKind::Scalar,
52015190
SMLoc(), SMLoc(), getContext());
@@ -5257,14 +5246,14 @@ bool AArch64AsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
52575246
Operands[4] = AArch64Operand::CreateImm(
52585247
NewOp4, Op4.getStartLoc(), Op4.getEndLoc(), getContext());
52595248
if (Tok == "bfi")
5260-
Operands[0] = AArch64Operand::CreateToken(
5261-
"bfm", false, Op.getStartLoc(), getContext());
5249+
Operands[0] = AArch64Operand::CreateToken("bfm", Op.getStartLoc(),
5250+
getContext());
52625251
else if (Tok == "sbfiz")
5263-
Operands[0] = AArch64Operand::CreateToken(
5264-
"sbfm", false, Op.getStartLoc(), getContext());
5252+
Operands[0] = AArch64Operand::CreateToken("sbfm", Op.getStartLoc(),
5253+
getContext());
52655254
else if (Tok == "ubfiz")
5266-
Operands[0] = AArch64Operand::CreateToken(
5267-
"ubfm", false, Op.getStartLoc(), getContext());
5255+
Operands[0] = AArch64Operand::CreateToken("ubfm", Op.getStartLoc(),
5256+
getContext());
52685257
else
52695258
llvm_unreachable("No valid mnemonic for alias?");
52705259
}
@@ -5311,14 +5300,14 @@ bool AArch64AsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
53115300
Operands[4] = AArch64Operand::CreateImm(
53125301
NewOp4, Op4.getStartLoc(), Op4.getEndLoc(), getContext());
53135302
if (Tok == "bfxil")
5314-
Operands[0] = AArch64Operand::CreateToken(
5315-
"bfm", false, Op.getStartLoc(), getContext());
5303+
Operands[0] = AArch64Operand::CreateToken("bfm", Op.getStartLoc(),
5304+
getContext());
53165305
else if (Tok == "sbfx")
5317-
Operands[0] = AArch64Operand::CreateToken(
5318-
"sbfm", false, Op.getStartLoc(), getContext());
5306+
Operands[0] = AArch64Operand::CreateToken("sbfm", Op.getStartLoc(),
5307+
getContext());
53195308
else if (Tok == "ubfx")
5320-
Operands[0] = AArch64Operand::CreateToken(
5321-
"ubfm", false, Op.getStartLoc(), getContext());
5309+
Operands[0] = AArch64Operand::CreateToken("ubfm", Op.getStartLoc(),
5310+
getContext());
53225311
else
53235312
llvm_unreachable("No valid mnemonic for alias?");
53245313
}
@@ -5344,8 +5333,8 @@ bool AArch64AsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
53445333
" correctly on this CPU, converting to equivalent movi.16b");
53455334
// Switch the suffix to .16b.
53465335
unsigned Idx = Op1.isToken() ? 1 : 2;
5347-
Operands[Idx] = AArch64Operand::CreateToken(".16b", false, IDLoc,
5348-
getContext());
5336+
Operands[Idx] =
5337+
AArch64Operand::CreateToken(".16b", IDLoc, getContext());
53495338
}
53505339
}
53515340
}

0 commit comments

Comments
 (0)