Home | History | Annotate | Download | only in AsmParser

Lines Matching refs:Parser

49   MCAsmParser &Parser;
99 MCAsmParser &getParser() const { return Parser; }
100 MCAsmLexer &getLexer() const { return Parser.getLexer(); }
104 return Parser.Warning(L, Msg, Ranges);
108 return Parser.Error(L, Msg, Ranges);
246 : MCTargetAsmParser(), STI(_STI), Parser(_Parser), FPReg(-1) {
262 if (MCELFStreamer *MES = dyn_cast<MCELFStreamer>(&Parser.getStreamer()))
2595 StartLoc = Parser.getTok().getLoc();
2596 EndLoc = Parser.getTok().getEndLoc();
2607 const AsmToken &Tok = Parser.getTok();
2644 Parser.Lex(); // Eat identifier token.
2648 Parser.Lex(); // Eat identifier token.
2660 SMLoc S = Parser.getTok().getLoc();
2661 const AsmToken &Tok = Parser.getTok();
2677 Parser.Lex(); // Eat the operator.
2697 if (Parser.getTok().is(AsmToken::Hash) ||
2698 Parser.getTok().is(AsmToken::Dollar)) {
2699 Parser.Lex(); // Eat hash.
2700 SMLoc ImmLoc = Parser.getTok().getLoc();
2726 } else if (Parser.getTok().is(AsmToken::Identifier)) {
2727 SMLoc L = Parser.getTok().getLoc();
2728 EndLoc = Parser.getTok().getEndLoc();
2735 Error (Parser.getTok().getLoc(),
2761 const AsmToken &RegTok = Parser.getTok();
2769 const AsmToken &ExclaimTok = Parser.getTok();
2773 Parser.Lex(); // Eat exclaim token
2780 if (Parser.getTok().is(AsmToken::LBrac)) {
2781 SMLoc SIdx = Parser.getTok().getLoc();
2782 Parser.Lex(); // Eat left bracket token.
2791 if (Parser.getTok().isNot(AsmToken::RBrac))
2792 return Error(Parser.getTok().getLoc(), "']' expected");
2794 SMLoc E = Parser.getTok().getEndLoc();
2795 Parser.Lex(); // Eat right bracket token.
2847 SMLoc S = Parser.getTok().getLoc();
2848 const AsmToken &Tok = Parser.getTok();
2872 Parser.Lex(); // Eat the token.
2884 SMLoc S = Parser.getTok().getLoc();
2885 const AsmToken &Tok = Parser.getTok();
2893 Parser.Lex(); // Eat identifier token.
2903 SMLoc S = Parser.getTok().getLoc();
2904 const AsmToken &Tok = Parser.getTok();
2912 Parser.Lex(); // Eat identifier token.
2921 SMLoc S = Parser.getTok().getLoc();
2924 if (Parser.getTok().isNot(AsmToken::LCurly))
2926 Parser.Lex(); // Eat the '{'
2929 SMLoc Loc = Parser.getTok().getLoc();
2942 if (Parser.getTok().isNot(AsmToken::RCurly))
2944 SMLoc E = Parser.getTok().getEndLoc();
2945 Parser.Lex(); // Eat the '}'
2999 assert(Parser.getTok().is(AsmToken::LCurly) &&
3001 SMLoc S = Parser.getTok().getLoc();
3002 Parser.Lex(); // Eat '{' token.
3003 SMLoc RegLoc = Parser.getTok().getLoc();
3040 while (Parser.getTok().is(AsmToken::Comma) ||
3041 Parser.getTok().is(AsmToken::Minus)) {
3042 if (Parser.getTok().is(AsmToken::Minus)) {
3043 Parser.Lex(); // Eat the minus.
3044 SMLoc AfterMinusLoc = Parser.getTok().getLoc();
3070 Parser.Lex(); // Eat the comma.
3071 RegLoc = Parser.getTok().getLoc();
3073 const AsmToken RegTok = Parser.getTok();
3110 if (Parser.getTok().isNot(AsmToken::RCurly))
3111 return Error(Parser.getTok().getLoc(), "'}' expected");
3112 SMLoc E = Parser.getTok().getEndLoc();
3113 Parser.Lex(); // Eat '}' token.
3119 if (Parser.getTok().is(AsmToken::Caret)) {
3120 Operands.push_back(ARMOperand::CreateToken("^",Parser.getTok().getLoc()));
3121 Parser.Lex(); // Eat '^' token.
3131 if (Parser.getTok().is(AsmToken::LBrac)) {
3132 Parser.Lex(); // Eat the '['.
3133 if (Parser.getTok().is(AsmToken::RBrac)) {
3136 EndLoc = Parser.getTok().getEndLoc();
3137 Parser.Lex(); // Eat the ']'.
3143 if (Parser.getTok().is(AsmToken::Hash))
3144 Parser.Lex(); // Eat '#' or '$'.
3147 SMLoc Loc = Parser.getTok().getLoc();
3157 if (Parser.getTok().isNot(AsmToken::RBrac)) {
3158 Error(Parser.getTok().getLoc(), "']' expected");
3161 EndLoc = Parser.getTok().getEndLoc();
3162 Parser.Lex(); // Eat the ']'.
3167 Error(Parser.getTok().getLoc(), "lane index out of range");
3183 SMLoc S = Parser.getTok().getLoc();
3187 if (Parser.getTok().is(AsmToken::Identifier)) {
3188 SMLoc E = Parser.getTok().getEndLoc();
3241 if (Parser.getTok().isNot(AsmToken::LCurly))
3244 Parser.Lex(); // Eat '{' token.
3245 SMLoc RegLoc = Parser.getTok().getLoc();
3269 while (Parser.getTok().is(AsmToken::Comma) ||
3270 Parser.getTok().is(AsmToken::Minus)) {
3271 if (Parser.getTok().is(AsmToken::Minus)) {
3275 Error(Parser.getTok().getLoc(),
3279 Parser.Lex(); // Eat the minus.
3280 SMLoc AfterMinusLoc = Parser.getTok().getLoc();
3319 Parser.Lex(); // Eat the comma.
3320 RegLoc = Parser.getTok().getLoc();
3351 SMLoc LaneLoc = Parser.getTok().getLoc();
3376 SMLoc EndLoc = Parser.getTok().getLoc();
3385 if (Parser.getTok().isNot(AsmToken::RCurly)) {
3386 Error(Parser.getTok().getLoc(), "'}' expected");
3389 E = Parser.getTok().getEndLoc();
3390 Parser.Lex(); // Eat '}' token.
3432 SMLoc S = Parser.getTok().getLoc();
3433 const AsmToken &Tok = Parser.getTok();
3457 Parser.Lex(); // Eat identifier token.
3461 if (Parser.getTok().isNot(AsmToken::Integer))
3462 Parser.Lex(); // Eat '#' or '$'.
3463 SMLoc Loc = Parser.getTok().getLoc();
3494 SMLoc S = Parser.getTok().getLoc();
3495 const AsmToken &Tok = Parser.getTok();
3506 Parser.Lex(); // Eat identifier token.
3510 if (Parser.getTok().isNot(AsmToken::Integer))
3511 Parser.Lex(); // Eat '#' or '$'.
3512 SMLoc Loc = Parser.getTok().getLoc();
3545 SMLoc S = Parser.getTok().getLoc();
3546 const AsmToken &Tok = Parser.getTok();
3571 Parser.Lex(); // Eat identifier token.
3579 SMLoc S = Parser.getTok().getLoc();
3580 const AsmToken &Tok = Parser.getTok();
3637 Parser.Lex(); // Eat identifier token.
3700 Parser.Lex(); // Eat identifier token.
3708 const AsmToken &Tok = Parser.getTok();
3710 Error(Parser.getTok().getLoc(), Op + " operand expected.");
3717 Error(Parser.getTok().getLoc(), Op + " operand expected.");
3720 Parser.Lex(); // Eat shift type token.
3723 if (Parser.getTok().isNot(AsmToken::Hash) &&
3724 Parser.getTok().isNot(AsmToken::Dollar)) {
3725 Error(Parser.getTok().getLoc(), "'#' expected");
3728 Parser.Lex(); // Eat hash token.
3731 SMLoc Loc = Parser.getTok().getLoc();
3755 const AsmToken &Tok = Parser.getTok();
3765 Parser.Lex(); // Eat the token.
3784 const AsmToken &Tok = Parser.getTok();
3800 Parser.Lex(); // Eat the operator.
3803 if (Parser.getTok().isNot(AsmToken::Hash) &&
3804 Parser.getTok().isNot(AsmToken::Dollar)) {
3805 Error(Parser.getTok().getLoc(), "'#' expected");
3808 Parser.Lex(); // Eat hash token.
3809 SMLoc ExLoc = Parser.getTok().getLoc();
3854 const AsmToken &Tok = Parser.getTok();
3861 Parser.Lex(); // Eat the operator.
3864 if (Parser.getTok().isNot(AsmToken::Hash) &&
3865 Parser.getTok().isNot(AsmToken::Dollar)) {
3866 Error(Parser.getTok().getLoc(), "'#' expected");
3869 Parser.Lex(); // Eat hash token.
3870 SMLoc ExLoc = Parser.getTok().getLoc();
3900 SMLoc S = Parser.getTok().getLoc();
3902 if (Parser.getTok().isNot(AsmToken::Hash) &&
3903 Parser.getTok().isNot(AsmToken::Dollar)) {
3904 Error(Parser.getTok().getLoc(), "'#' expected");
3907 Parser.Lex(); // Eat hash token.
3910 SMLoc E = Parser.getTok().getLoc();
3927 E = Parser.getTok().getLoc();
3930 if (Parser.getTok().isNot(AsmToken::Comma)) {
3931 Error(Parser.getTok().getLoc(), "too few operands");
3934 Parser.Lex(); // Eat hash token.
3935 if (Parser.getTok().isNot(AsmToken::Hash) &&
3936 Parser.getTok().isNot(AsmToken::Dollar)) {
3937 Error(Parser.getTok().getLoc(), "'#' expected");
3940 Parser.Lex(); // Eat hash token.
3976 AsmToken Tok = Parser.getTok();
3981 Parser.Lex(); // Eat the '+' token.
3984 Parser.Lex(); // Eat the '-' token.
3989 SMLoc E = Parser.getTok().getEndLoc();
3994 Error(Parser.getTok().getLoc(), "register expected");
4000 if (Parser.getTok().is(AsmToken::Comma)) {
4001 Parser.Lex(); // Eat the ','.
4006 E = Parser.getTok().getLoc();
4028 AsmToken Tok = Parser.getTok();
4032 if (Parser.getTok().is(AsmToken::Hash) ||
4033 Parser.getTok().is(AsmToken::Dollar)) {
4034 Parser.Lex(); // Eat '#' or '$'.
4037 bool isNegative = Parser.getTok().is(AsmToken::Minus);
4062 Parser.Lex(); // Eat the '+' token.
4065 Parser.Lex(); // Eat the '-' token.
4070 Tok = Parser.getTok();
4110 assert(Parser.getTok().is(AsmToken::LBrac) &&
4112 S = Parser.getTok().getLoc();
4113 Parser.Lex(); // Eat left bracket token.
4115 const AsmToken &BaseRegTok = Parser.getTok();
4121 const AsmToken &Tok = Parser.getTok();
4128 Parser.Lex(); // Eat right bracket token.
4135 if (Parser.getTok().is(AsmToken::Exclaim)) {
4136 Operands.push_back(ARMOperand::CreateToken("!",Parser.getTok().getLoc()));
4137 Parser.Lex(); // Eat the '!'.
4146 Parser.Lex(); // Eat the comma.
4150 if (Parser.getTok().is(AsmToken::Colon)) {
4151 Parser.Lex(); // Eat the ':'.
4152 E = Parser.getTok().getLoc();
4178 if (Parser.getTok().isNot(AsmToken::RBrac))
4179 return Error(Parser
4180 E = Parser.getTok().getEndLoc();
4181 Parser.Lex(); // Eat right bracket token.
4191 if (Parser.getTok().is(AsmToken::Exclaim)) {
4192 Operands.push_back(ARMOperand::CreateToken("!",Parser.getTok().getLoc()));
4193 Parser.Lex(); // Eat the '!'.
4202 if (Parser.getTok().is(AsmToken::Hash) ||
4203 Parser.getTok().is(AsmToken::Dollar) ||
4204 Parser.getTok().is(AsmToken::Integer)) {
4205 if (Parser.getTok().isNot(AsmToken::Integer))
4206 Parser.Lex(); // Eat '#' or '$'.
4207 E = Parser.getTok().getLoc();
4227 if (Parser.getTok().isNot(AsmToken::RBrac))
4228 return Error(Parser.getTok().getLoc(), "']' expected");
4229 E = Parser.getTok().getEndLoc();
4230 Parser.Lex(); // Eat right bracket token.
4240 if (Parser.getTok().is(AsmToken::Exclaim)) {
4241 Operands.push_back(ARMOperand::CreateToken("!",Parser.getTok().getLoc()));
4242 Parser.Lex(); // Eat the '!'.
4250 if (Parser.getTok().is(AsmToken::Minus)) {
4252 Parser.Lex(); // Eat the '-'.
4253 } else if (Parser.getTok().is(AsmToken::Plus)) {
4255 Parser.Lex(); // Eat the '+'.
4258 E = Parser.getTok().getLoc();
4266 if (Parser.getTok().is(AsmToken::Comma)) {
4267 Parser.Lex(); // Eat the ','.
4273 if (Parser.getTok().isNot(AsmToken::RBrac))
4274 return Error(Parser.getTok().getLoc(), "']' expected");
4275 E = Parser.getTok().getEndLoc();
4276 Parser.Lex(); // Eat right bracket token.
4284 if (Parser.getTok().is(AsmToken::Exclaim)) {
4285 Operands.push_back(ARMOperand::CreateToken("!",Parser.getTok().getLoc()));
4286 Parser.Lex(); // Eat the '!'.
4298 SMLoc Loc = Parser.getTok().getLoc();
4299 const AsmToken &Tok = Parser.getTok();
4316 Parser.Lex(); // Eat shift type token.
4321 Loc = Parser.getTok().getLoc();
4323 const AsmToken &HashTok = Parser.getTok();
4327 Parser.Lex(); // Eat hash token.
4367 SMLoc S = Parser.getTok().getLoc();
4369 if (Parser.getTok().isNot(AsmToken::Hash) &&
4370 Parser.getTok().isNot(AsmToken::Dollar))
4388 Parser.Lex(); // Eat '#' or '$'.
4392 if (Parser.getTok().is(AsmToken::Minus)) {
4394 Parser.Lex();
4396 const AsmToken &Tok = Parser.getTok();
4403 Parser.Lex(); // Eat the token.
4406 S, Parser.getTok().getLoc()));
4413 Parser.Lex(); // Eat the token.
4422 Parser.getTok().getLoc()));
4436 // Check if the current operand has a custom associated parser, if so, try to
4449 Error(Parser.getTok().getLoc(), "unexpected token in operand");
4466 Parser.getTok().getString().equals_lower("apsr_nzcv")) {
4467 S = Parser.getTok().getLoc();
4468 Parser.Lex();
4484 S = Parser.getTok().getLoc();
4487 E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
4498 S = Parser.getTok().getLoc();
4499 Parser.Lex();
4501 if (Parser.getTok().isNot(AsmToken::Colon)) {
4502 bool isNegative = Parser.getTok().is(AsmToken::Minus);
4512 E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
4518 if (Parser.getTok().is(AsmToken::Exclaim)) {
4519 Operands.push_back(ARMOperand::CreateToken(Parser.getTok().getString(),
4520 Parser.getTok().getLoc()));
4521 Parser.Lex(); // Eat exclaim token
4542 E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
4556 Parser.Lex(); // Eat ':'
4559 Error(Parser.getTok().getLoc(), "expected prefix identifier in operand");
4563 StringRef IDVal = Parser.getTok().getIdentifier();
4569 Error(Parser.getTok().getLoc(), "unexpected prefix in operand");
4572 Parser.Lex();
4575 Error(Parser.getTok().getLoc(), "unexpected token after prefix");
4578 Parser.Lex(); // Eat the last ':'
4919 if (Parser.getTok().is(AsmToken::Identifier) &&
4920 Parser.getTok().getIdentifier() == ".req") {
4941 Parser.eatToEndOfStatement();
4955 Parser.eatToEndOfStatement();
4962 Parser.eatToEndOfStatement();
4988 Parser.eatToEndOfStatement();
4995 Parser.eatToEndOfStatement();
5054 Parser.eatToEndOfStatement();
5059 Parser.Lex(); // Eat the comma.
5063 Parser.eatToEndOfStatement();
5071 Parser.eatToEndOfStatement();
5075 Parser.Lex(); // Consume the EndOfStatement
7621 Parser.Lex();
7625 Parser.Lex();
7634 Parser.Lex();
7650 Parser.Lex();
7672 const AsmToken &Tok = Parser.getTok();
7677 Parser.Lex(); // Consume the identifier token.
7687 Parser.Lex();
7693 Name = Parser.getTok().getIdentifier();
7705 const AsmToken &Tok = Parser.getTok();
7710 Parser.Lex();
7717 return Error(Parser.getTok().getLoc(), "unexpected token in directive");
7718 Parser.Lex();
7728 const AsmToken &Tok = Parser.getTok();
7731 int64_t Val = Parser.getTok().getIntVal();
7733 Parser.Lex();
7735 Parser.Lex();
7740 return Error(Parser.getTok().getLoc(), "unexpected token in directive");
7741 Parser.Lex();
7765 Parser.Lex(); // Eat the '.req' token.
7769 Parser.eatToEndOfStatement();
7774 if (Parser.getTok().isNot(AsmToken::EndOfStatement)) {
7775 Parser.eatToEndOfStatement();
7776 return Error(Parser.getTok().getLoc(),
7780 Parser.Lex(); // Consume the EndOfStatement
7792 if (Parser.getTok().isNot(AsmToken::Identifier)) {
7793 Parser.eatToEndOfStatement();
7796 RegisterReqs.erase(Parser.getTok().getIdentifier());
7797 Parser.Lex(); // Eat the identifier.
7834 // Reset the unwind directives parser state
7882 if (Parser.getTok().isNot(AsmToken::Identifier)) {
7883 Parser.eatToEndOfStatement();
7886 StringRef Name(Parser.getTok().getIdentifier());
7887 Parser.Lex();
7921 SMLoc NewFPRegLoc = Parser.getTok().getLoc();
7927 if (!Parser.getTok().is(AsmToken::Comma))
7928 return Error(Parser.getTok().getLoc(), "comma expected");
7929 Parser.Lex(); // skip comma
7932 SMLoc NewSPRegLoc = Parser.getTok().getLoc();
7946 if (Parser.getTok().is(AsmToken::Comma)) {
7947 Parser.Lex(); // skip comma
7949 if (Parser.getTok().isNot(AsmToken::Hash) &&
7950 Parser.getTok().isNot(AsmToken::Dollar)) {
7951 return Error(Parser.getTok().getLoc(), "'#' expected");
7953 Parser.Lex(); // skip hash token.
7956 SMLoc ExLoc = Parser.getTok().getLoc();
7983 if (Parser.getTok().isNot(AsmToken::Hash) &&
7984 Parser.getTok().isNot(AsmToken::Dollar)) {
7985 return Error(Parser.getTok().getLoc(), "'#' expected");
7987 Parser.Lex(); // skip hash token.
7990 SMLoc ExLoc = Parser.getTok().getLoc();