reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/MIRParser/MILexer.cpp
   67 MIToken &MIToken::reset(TokenKind Kind, StringRef Range) {
   73 MIToken &MIToken::setStringValue(StringRef StrVal) {
   78 MIToken &MIToken::setOwnedStringValue(std::string StrVal) {
   84 MIToken &MIToken::setIntegerValue(APSInt IntVal) {
  159 static Cursor lexName(Cursor C, MIToken &Token, MIToken::TokenKind Type,
  159 static Cursor lexName(Cursor C, MIToken &Token, MIToken::TokenKind Type,
  171     Token.reset(MIToken::Error, Range.remaining());
  181 static MIToken::TokenKind getIdentifierKind(StringRef Identifier) {
  183       .Case("_", MIToken::underscore)
  184       .Case("implicit", MIToken::kw_implicit)
  185       .Case("implicit-def", MIToken::kw_implicit_define)
  186       .Case("def", MIToken::kw_def)
  187       .Case("dead", MIToken::kw_dead)
  188       .Case("killed", MIToken::kw_killed)
  189       .Case("undef", MIToken::kw_undef)
  190       .Case("internal", MIToken::kw_internal)
  191       .Case("early-clobber", MIToken::kw_early_clobber)
  192       .Case("debug-use", MIToken::kw_debug_use)
  193       .Case("renamable", MIToken::kw_renamable)
  194       .Case("tied-def", MIToken::kw_tied_def)
  195       .Case("frame-setup", MIToken::kw_frame_setup)
  196       .Case("frame-destroy", MIToken::kw_frame_destroy)
  197       .Case("nnan", MIToken::kw_nnan)
  198       .Case("ninf", MIToken::kw_ninf)
  199       .Case("nsz", MIToken::kw_nsz)
  200       .Case("arcp", MIToken::kw_arcp)
  201       .Case("contract", MIToken::kw_contract)
  202       .Case("afn", MIToken::kw_afn)
  203       .Case("reassoc", MIToken::kw_reassoc)
  204       .Case("nuw" , MIToken::kw_nuw)
  205       .Case("nsw" , MIToken::kw_nsw)
  206       .Case("exact" , MIToken::kw_exact)
  207       .Case("fpexcept", MIToken::kw_fpexcept)
  208       .Case("debug-location", MIToken::kw_debug_location)
  209       .Case("same_value", MIToken::kw_cfi_same_value)
  210       .Case("offset", MIToken::kw_cfi_offset)
  211       .Case("rel_offset", MIToken::kw_cfi_rel_offset)
  212       .Case("def_cfa_register", MIToken::kw_cfi_def_cfa_register)
  213       .Case("def_cfa_offset", MIToken::kw_cfi_def_cfa_offset)
  214       .Case("adjust_cfa_offset", MIToken::kw_cfi_adjust_cfa_offset)
  215       .Case("escape", MIToken::kw_cfi_escape)
  216       .Case("def_cfa", MIToken::kw_cfi_def_cfa)
  217       .Case("remember_state", MIToken::kw_cfi_remember_state)
  218       .Case("restore", MIToken::kw_cfi_restore)
  219       .Case("restore_state", MIToken::kw_cfi_restore_state)
  220       .Case("undefined", MIToken::kw_cfi_undefined)
  221       .Case("register", MIToken::kw_cfi_register)
  222       .Case("window_save", MIToken::kw_cfi_window_save)
  223       .Case("negate_ra_sign_state", MIToken::kw_cfi_aarch64_negate_ra_sign_state)
  224       .Case("blockaddress", MIToken::kw_blockaddress)
  225       .Case("intrinsic", MIToken::kw_intrinsic)
  226       .Case("target-index", MIToken::kw_target_index)
  227       .Case("half", MIToken::kw_half)
  228       .Case("float", MIToken::kw_float)
  229       .Case("double", MIToken::kw_double)
  230       .Case("x86_fp80", MIToken::kw_x86_fp80)
  231       .Case("fp128", MIToken::kw_fp128)
  232       .Case("ppc_fp128", MIToken::kw_ppc_fp128)
  233       .Case("target-flags", MIToken::kw_target_flags)
  234       .Case("volatile", MIToken::kw_volatile)
  235       .Case("non-temporal", MIToken::kw_non_temporal)
  236       .Case("dereferenceable", MIToken::kw_dereferenceable)
  237       .Case("invariant", MIToken::kw_invariant)
  238       .Case("align", MIToken::kw_align)
  239       .Case("addrspace", MIToken::kw_addrspace)
  240       .Case("stack", MIToken::kw_stack)
  241       .Case("got", MIToken::kw_got)
  242       .Case("jump-table", MIToken::kw_jump_table)
  243       .Case("constant-pool", MIToken::kw_constant_pool)
  244       .Case("call-entry", MIToken::kw_call_entry)
  245       .Case("liveout", MIToken::kw_liveout)
  246       .Case("address-taken", MIToken::kw_address_taken)
  247       .Case("landing-pad", MIToken::kw_landing_pad)
  248       .Case("liveins", MIToken::kw_liveins)
  249       .Case("successors", MIToken::kw_successors)
  250       .Case("floatpred", MIToken::kw_floatpred)
  251       .Case("intpred", MIToken::kw_intpred)
  252       .Case("shufflemask", MIToken::kw_shufflemask)
  253       .Case("pre-instr-symbol", MIToken::kw_pre_instr_symbol)
  254       .Case("post-instr-symbol", MIToken::kw_post_instr_symbol)
  255       .Case("unknown-size", MIToken::kw_unknown_size)
  256       .Default(MIToken::Identifier);
  259 static Cursor maybeLexIdentifier(Cursor C, MIToken &Token) {
  271 static Cursor maybeLexMachineBasicBlock(Cursor C, MIToken &Token,
  280     Token.reset(MIToken::Error, C.remaining());
  298   Token.reset(IsReference ? MIToken::MachineBasicBlock
  299                           : MIToken::MachineBasicBlockLabel,
  306 static Cursor maybeLexIndex(Cursor C, MIToken &Token, StringRef Rule,
  307                             MIToken::TokenKind Kind) {
  319 static Cursor maybeLexIndexAndName(Cursor C, MIToken &Token, StringRef Rule,
  320                                    MIToken::TokenKind Kind) {
  342 static Cursor maybeLexJumpTableIndex(Cursor C, MIToken &Token) {
  343   return maybeLexIndex(C, Token, "%jump-table.", MIToken::JumpTableIndex);
  346 static Cursor maybeLexStackObject(Cursor C, MIToken &Token) {
  347   return maybeLexIndexAndName(C, Token, "%stack.", MIToken::StackObject);
  350 static Cursor maybeLexFixedStackObject(Cursor C, MIToken &Token) {
  351   return maybeLexIndex(C, Token, "%fixed-stack.", MIToken::FixedStackObject);
  354 static Cursor maybeLexConstantPoolItem(Cursor C, MIToken &Token) {
  355   return maybeLexIndex(C, Token, "%const.", MIToken::ConstantPoolItem);
  358 static Cursor maybeLexSubRegisterIndex(Cursor C, MIToken &Token,
  363   return lexName(C, Token, MIToken::SubRegisterIndex, Rule.size(),
  367 static Cursor maybeLexIRBlock(Cursor C, MIToken &Token,
  373     return maybeLexIndex(C, Token, Rule, MIToken::IRBlock);
  374   return lexName(C, Token, MIToken::NamedIRBlock, Rule.size(), ErrorCallback);
  377 static Cursor maybeLexIRValue(Cursor C, MIToken &Token,
  383     return maybeLexIndex(C, Token, Rule, MIToken::IRValue);
  384   return lexName(C, Token, MIToken::NamedIRValue, Rule.size(), ErrorCallback);
  387 static Cursor maybeLexStringConstant(Cursor C, MIToken &Token,
  391   return lexName(C, Token, MIToken::StringConstant, /*PrefixLength=*/0,
  395 static Cursor lexVirtualRegister(Cursor C, MIToken &Token) {
  401   Token.reset(MIToken::VirtualRegister, Range.upto(C))
  411 static Cursor lexNamedVirtualRegister(Cursor C, MIToken &Token) {
  416   Token.reset(MIToken::NamedVirtualRegister, Range.upto(C))
  421 static Cursor maybeLexRegister(Cursor C, MIToken &Token,
  441   Token.reset(MIToken::NamedRegister, Range.upto(C))
  446 static Cursor maybeLexGlobalValue(Cursor C, MIToken &Token,
  451     return lexName(C, Token, MIToken::NamedGlobalValue, /*PrefixLength=*/1,
  458   Token.reset(MIToken::GlobalValue, Range.upto(C))
  463 static Cursor maybeLexExternalSymbol(Cursor C, MIToken &Token,
  467   return lexName(C, Token, MIToken::ExternalSymbol, /*PrefixLength=*/1,
  471 static Cursor maybeLexMCSymbol(Cursor C, MIToken &Token,
  487       Token.reset(MIToken::Error, Start.remaining());
  492     Token.reset(MIToken::MCSymbol, Start.upto(C)).setStringValue(String);
  501     Token.reset(MIToken::Error, Start.remaining());
  508     Token.reset(MIToken::Error, Start.remaining());
  513   Token.reset(MIToken::MCSymbol, Start.upto(R))
  522 static Cursor lexFloatingPointLiteral(Cursor Range, Cursor C, MIToken &Token) {
  534   Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
  538 static Cursor maybeLexHexadecimalLiteral(Cursor C, MIToken &Token) {
  554     Token.reset(MIToken::HexLiteral, Range.upto(C));
  556     Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
  560 static Cursor maybeLexNumericalLiteral(Cursor C, MIToken &Token) {
  570   Token.reset(MIToken::IntegerLiteral, StrVal).setIntegerValue(APSInt(StrVal));
  574 static MIToken::TokenKind getMetadataKeywordKind(StringRef Identifier) {
  576       .Case("!tbaa", MIToken::md_tbaa)
  577       .Case("!alias.scope", MIToken::md_alias_scope)
  578       .Case("!noalias", MIToken::md_noalias)
  579       .Case("!range", MIToken::md_range)
  580       .Case("!DIExpression", MIToken::md_diexpr)
  581       .Case("!DILocation", MIToken::md_dilocation)
  582       .Default(MIToken::Error);
  585 static Cursor maybeLexExlaim(Cursor C, MIToken &Token,
  592     Token.reset(MIToken::exclaim, Range.upto(C));
  605 static MIToken::TokenKind symbolToken(char C) {
  608     return MIToken::comma;
  610     return MIToken::dot;
  612     return MIToken::equal;
  614     return MIToken::colon;
  616     return MIToken::lparen;
  618     return MIToken::rparen;
  620     return MIToken::lbrace;
  622     return MIToken::rbrace;
  624     return MIToken::plus;
  626     return MIToken::minus;
  628     return MIToken::less;
  630     return MIToken::greater;
  632     return MIToken::Error;
  636 static Cursor maybeLexSymbol(Cursor C, MIToken &Token) {
  637   MIToken::TokenKind Kind;
  640     Kind = MIToken::coloncolon;
  644   if (Kind == MIToken::Error)
  652 static Cursor maybeLexNewline(Cursor C, MIToken &Token) {
  657   Token.reset(MIToken::Newline, Range.upto(C));
  661 static Cursor maybeLexEscapedIRValue(Cursor C, MIToken &Token,
  673       Token.reset(MIToken::Error, Range.remaining());
  680   Token.reset(MIToken::QuotedIRValue, Range.upto(C)).setStringValue(Value);
  684 StringRef llvm::lexMIToken(StringRef Source, MIToken &Token,
  688     Token.reset(MIToken::Eof, C.remaining());
  733   Token.reset(MIToken::Error, C.remaining());
lib/CodeGen/MIRParser/MILexer.h
  173   MIToken &reset(TokenKind Kind, StringRef Range);
  175   MIToken &setStringValue(StringRef StrVal);
  176   MIToken &setOwnedStringValue(std::string StrVal);
  177   MIToken &setIntegerValue(APSInt IntVal);
  231     StringRef Source, MIToken &Token,
lib/CodeGen/MIRParser/MIParser.cpp
  369   MIToken Token;
  494   bool expectAndConsume(MIToken::TokenKind TokenKind);
  498   bool consumeIfPresent(MIToken::TokenKind TokenKind);
  553 static const char *toString(MIToken::TokenKind TokenKind) {
  555   case MIToken::comma:
  557   case MIToken::equal:
  559   case MIToken::colon:
  561   case MIToken::lparen:
  563   case MIToken::rparen:
  570 bool MIParser::expectAndConsume(MIToken::TokenKind TokenKind) {
  577 bool MIParser::consumeIfPresent(MIToken::TokenKind TokenKind) {
  597   if (consumeIfPresent(MIToken::lparen)) {
  601       case MIToken::kw_address_taken:
  605       case MIToken::kw_landing_pad:
  609       case MIToken::kw_align:
  613       case MIToken::IRBlock:
  622     } while (consumeIfPresent(MIToken::comma));
  623     if (expectAndConsume(MIToken::rparen))
  626   if (expectAndConsume(MIToken::colon))
  655   while (Token.is(MIToken::Newline))
  659   if (Token.isNot(MIToken::MachineBasicBlockLabel))
  668       if ((Token.is(MIToken::MachineBasicBlockLabel) && IsAfterNewline) ||
  671       else if (Token.is(MIToken::MachineBasicBlockLabel))
  674       else if (consumeIfPresent(MIToken::Newline)) {
  679       if (Token.is(MIToken::lbrace))
  681       if (Token.is(MIToken::rbrace)) {
  698   if (expectAndConsume(MIToken::colon))
  703     if (Token.isNot(MIToken::NamedRegister))
  710     if (consumeIfPresent(MIToken::colon)) {
  712       if (Token.isNot(MIToken::IntegerLiteral) &&
  713           Token.isNot(MIToken::HexLiteral))
  724   } while (consumeIfPresent(MIToken::comma));
  731   if (expectAndConsume(MIToken::colon))
  736     if (Token.isNot(MIToken::MachineBasicBlock))
  743     if (consumeIfPresent(MIToken::lparen)) {
  744       if (Token.isNot(MIToken::IntegerLiteral) &&
  745           Token.isNot(MIToken::HexLiteral))
  750       if (expectAndConsume(MIToken::rparen))
  754   } while (consumeIfPresent(MIToken::comma));
  764   if (consumeIfPresent(MIToken::lparen)) {
  765     while (Token.isNot(MIToken::rparen) && !Token.isErrorOrEOF())
  767     consumeIfPresent(MIToken::rparen);
  769   consumeIfPresent(MIToken::colon);
  782     if (Token.is(MIToken::kw_successors)) {
  786     } else if (Token.is(MIToken::kw_liveins)) {
  789     } else if (consumeIfPresent(MIToken::Newline)) {
  801   while (!Token.is(MIToken::MachineBasicBlockLabel) &&
  802          !Token.is(MIToken::Eof)) {
  803     if (consumeIfPresent(MIToken::Newline))
  805     if (consumeIfPresent(MIToken::rbrace)) {
  821     if (Token.is(MIToken::lbrace)) {
  828       if (!Token.is(MIToken::Newline))
  857   while (Token.is(MIToken::Newline))
  880   } while (Token.isNot(MIToken::Eof));
  895     if (Token.isNot(MIToken::comma))
  899   if (!Operands.empty() && expectAndConsume(MIToken::equal))
  907   while (!Token.isNewlineOrEOF() && Token.isNot(MIToken::kw_pre_instr_symbol) &&
  908          Token.isNot(MIToken::kw_post_instr_symbol) &&
  909          Token.isNot(MIToken::kw_debug_location) &&
  910          Token.isNot(MIToken::coloncolon) && Token.isNot(MIToken::lbrace)) {
  910          Token.isNot(MIToken::coloncolon) && Token.isNot(MIToken::lbrace)) {
  919     if (Token.isNewlineOrEOF() || Token.is(MIToken::coloncolon) ||
  920         Token.is(MIToken::lbrace))
  922     if (Token.isNot(MIToken::comma))
  928   if (Token.is(MIToken::kw_pre_instr_symbol))
  932   if (Token.is(MIToken::kw_post_instr_symbol))
  937   if (Token.is(MIToken::kw_debug_location)) {
  940     if (Token.is(MIToken::exclaim)) {
  943     } else if (Token.is(MIToken::md_dilocation)) {
  955   if (Token.is(MIToken::coloncolon)) {
  964       if (Token.isNot(MIToken::comma))
  995   if (Token.isNot(MIToken::MachineBasicBlock))
 1000   if (Token.isNot(MIToken::Eof))
 1008   if (Token.isNot(MIToken::NamedRegister))
 1013   if (Token.isNot(MIToken::Eof))
 1020   if (Token.isNot(MIToken::VirtualRegister))
 1025   if (Token.isNot(MIToken::Eof))
 1032   if (Token.isNot(MIToken::NamedRegister) &&
 1033       Token.isNot(MIToken::VirtualRegister))
 1041   if (Token.isNot(MIToken::Eof))
 1048   if (Token.isNot(MIToken::StackObject))
 1052   if (Token.isNot(MIToken::Eof))
 1059   if (Token.is(MIToken::exclaim)) {
 1062   } else if (Token.is(MIToken::md_diexpr)) {
 1065   } else if (Token.is(MIToken::md_dilocation)) {
 1070   if (Token.isNot(MIToken::Eof))
 1129   while (Token.is(MIToken::kw_frame_setup) ||
 1130          Token.is(MIToken::kw_frame_destroy) ||
 1131          Token.is(MIToken::kw_nnan) ||
 1132          Token.is(MIToken::kw_ninf) ||
 1133          Token.is(MIToken::kw_nsz) ||
 1134          Token.is(MIToken::kw_arcp) ||
 1135          Token.is(MIToken::kw_contract) ||
 1136          Token.is(MIToken::kw_afn) ||
 1137          Token.is(MIToken::kw_reassoc) ||
 1138          Token.is(MIToken::kw_nuw) ||
 1139          Token.is(MIToken::kw_nsw) ||
 1140          Token.is(MIToken::kw_exact) ||
 1141          Token.is(MIToken::kw_fpexcept)) {
 1143     if (Token.is(MIToken::kw_frame_setup))
 1145     if (Token.is(MIToken::kw_frame_destroy))
 1147     if (Token.is(MIToken::kw_nnan))
 1149     if (Token.is(MIToken::kw_ninf))
 1151     if (Token.is(MIToken::kw_nsz))
 1153     if (Token.is(MIToken::kw_arcp))
 1155     if (Token.is(MIToken::kw_contract))
 1157     if (Token.is(MIToken::kw_afn))
 1159     if (Token.is(MIToken::kw_reassoc))
 1161     if (Token.is(MIToken::kw_nuw))
 1163     if (Token.is(MIToken::kw_nsw))
 1165     if (Token.is(MIToken::kw_exact))
 1167     if (Token.is(MIToken::kw_fpexcept))
 1172   if (Token.isNot(MIToken::Identifier))
 1199   if (Token.is(MIToken::NamedVirtualRegister))
 1211   case MIToken::underscore:
 1214   case MIToken::NamedRegister:
 1216   case MIToken::NamedVirtualRegister:
 1217   case MIToken::VirtualRegister:
 1229   if (Token.isNot(MIToken::Identifier) && Token.isNot(MIToken::underscore))
 1229   if (Token.isNot(MIToken::Identifier) && Token.isNot(MIToken::underscore))
 1289   case MIToken::kw_implicit:
 1292   case MIToken::kw_implicit_define:
 1295   case MIToken::kw_def:
 1298   case MIToken::kw_dead:
 1301   case MIToken::kw_killed:
 1304   case MIToken::kw_undef:
 1307   case MIToken::kw_internal:
 1310   case MIToken::kw_early_clobber:
 1313   case MIToken::kw_debug_use:
 1316   case MIToken::kw_renamable:
 1333   if (Token.isNot(MIToken::Identifier))
 1344   if (!consumeIfPresent(MIToken::kw_tied_def))
 1346   if (Token.isNot(MIToken::IntegerLiteral))
 1351   if (expectAndConsume(MIToken::rparen))
 1409   if (Token.is(MIToken::dot)) {
 1415   if (Token.is(MIToken::colon)) {
 1424     if (consumeIfPresent(MIToken::lparen)) {
 1434         if (expectAndConsume(MIToken::rparen))
 1444   } else if (consumeIfPresent(MIToken::lparen)) {
 1453     if (expectAndConsume(MIToken::rparen))
 1546   if (Token.isNot(MIToken::less))
 1551   if (Token.isNot(MIToken::IntegerLiteral))
 1559   if (Token.isNot(MIToken::Identifier) || Token.stringValue() != "x")
 1585   if (Token.isNot(MIToken::greater))
 1606   if (Token.isNot(MIToken::IntegerLiteral)) {
 1607     if (Token.isNot(MIToken::Identifier) ||
 1621   if (Token.isNot(MIToken::FloatingPointLiteral) &&
 1622       Token.isNot(MIToken::HexLiteral))
 1640   if (Token.is(MIToken::HexLiteral)) {
 1733   case MIToken::NamedGlobalValue: {
 1741   case MIToken::GlobalValue: {
 1832   if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned())
 1852   if (expectAndConsume(MIToken::lparen))
 1855   if (Token.isNot(MIToken::rparen)) {
 1857       if (Token.is(MIToken::Identifier)) {
 1871       if (Token.isNot(MIToken::IntegerLiteral) ||
 1881     } while (consumeIfPresent(MIToken::comma));
 1884   if (expectAndConsume(MIToken::rparen))
 1902   if (expectAndConsume(MIToken::lparen))
 1905   if (Token.isNot(MIToken::rparen)) {
 1907       if (Token.is(MIToken::Identifier)) {
 1910           if (expectAndConsume(MIToken::colon))
 1912           if (Token.isNot(MIToken::IntegerLiteral) ||
 1922           if (expectAndConsume(MIToken::colon))
 1924           if (Token.isNot(MIToken::IntegerLiteral) ||
 1933           if (expectAndConsume(MIToken::colon))
 1943           if (expectAndConsume(MIToken::colon))
 1945           if (Token.is(MIToken::exclaim)) {
 1948           } else if (Token.is(MIToken::md_dilocation)) {
 1959           if (expectAndConsume(MIToken::colon))
 1961           if (!Token.is(MIToken::Identifier))
 1978     } while (consumeIfPresent(MIToken::comma));
 1981   if (expectAndConsume(MIToken::rparen))
 1996   if (Token.is(MIToken::exclaim)) {
 1999   } else if (Token.is(MIToken::md_diexpr)) {
 2008   if (Token.isNot(MIToken::IntegerLiteral))
 2018   if (Token.isNot(MIToken::NamedRegister))
 2035     if (Token.isNot(MIToken::HexLiteral))
 2044   } while (consumeIfPresent(MIToken::comma));
 2055   case MIToken::kw_cfi_same_value:
 2060   case MIToken::kw_cfi_offset:
 2061     if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) ||
 2067   case MIToken::kw_cfi_rel_offset:
 2068     if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) ||
 2074   case MIToken::kw_cfi_def_cfa_register:
 2080   case MIToken::kw_cfi_def_cfa_offset:
 2087   case MIToken::kw_cfi_adjust_cfa_offset:
 2093   case MIToken::kw_cfi_def_cfa:
 2094     if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) ||
 2101   case MIToken::kw_cfi_remember_state:
 2104   case MIToken::kw_cfi_restore:
 2109   case MIToken::kw_cfi_restore_state:
 2112   case MIToken::kw_cfi_undefined:
 2117   case MIToken::kw_cfi_register: {
 2119     if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) ||
 2127   case MIToken::kw_cfi_window_save:
 2130   case MIToken::kw_cfi_aarch64_negate_ra_sign_state:
 2133   case MIToken::kw_cfi_escape: {
 2150   case MIToken::NamedIRBlock: {
 2157   case MIToken::IRBlock: {
 2176   if (expectAndConsume(MIToken::lparen))
 2178   if (Token.isNot(MIToken::GlobalValue) &&
 2179       Token.isNot(MIToken::NamedGlobalValue))
 2188   if (expectAndConsume(MIToken::comma))
 2191   if (Token.isNot(MIToken::IRBlock) && Token.isNot(MIToken::NamedIRBlock))
 2191   if (Token.isNot(MIToken::IRBlock) && Token.isNot(MIToken::NamedIRBlock))
 2196   if (expectAndConsume(MIToken::rparen))
 2207   if (expectAndConsume(MIToken::lparen))
 2210   if (Token.isNot(MIToken::NamedGlobalValue))
 2216   if (expectAndConsume(MIToken::rparen))
 2235   bool IsFloat = Token.is(MIToken::kw_floatpred);
 2238   if (expectAndConsume(MIToken::lparen))
 2241   if (Token.isNot(MIToken::Identifier))
 2285   if (expectAndConsume(MIToken::rparen))
 2295   if (expectAndConsume(MIToken::lparen))
 2306     if (Token.is(MIToken::kw_undef)) {
 2309     } else if (Token.is(MIToken::IntegerLiteral)) {
 2319   } while (consumeIfPresent(MIToken::comma));
 2321   if (expectAndConsume(MIToken::rparen))
 2337   if (expectAndConsume(MIToken::lparen))
 2339   if (Token.isNot(MIToken::Identifier))
 2345   if (expectAndConsume(MIToken::rparen))
 2356   if (expectAndConsume(MIToken::lparen))
 2361     if (Token.isNot(MIToken::NamedRegister))
 2369     if (Token.isNot(MIToken::comma))
 2374   if (expectAndConsume(MIToken::rparen))
 2384   if (expectAndConsume(MIToken::lparen))
 2387     if (Token.isNot(MIToken::NamedRegister))
 2395     if (Token.isNot(MIToken::comma))
 2399   if (expectAndConsume(MIToken::rparen))
 2408   case MIToken::kw_implicit:
 2409   case MIToken::kw_implicit_define:
 2410   case MIToken::kw_def:
 2411   case MIToken::kw_dead:
 2412   case MIToken::kw_killed:
 2413   case MIToken::kw_undef:
 2414   case MIToken::kw_internal:
 2415   case MIToken::kw_early_clobber:
 2416   case MIToken::kw_debug_use:
 2417   case MIToken::kw_renamable:
 2418   case MIToken::underscore:
 2419   case MIToken::NamedRegister:
 2420   case MIToken::VirtualRegister:
 2421   case MIToken::NamedVirtualRegister:
 2423   case MIToken::IntegerLiteral:
 2425   case MIToken::kw_half:
 2426   case MIToken::kw_float:
 2427   case MIToken::kw_double:
 2428   case MIToken::kw_x86_fp80:
 2429   case MIToken::kw_fp128:
 2430   case MIToken::kw_ppc_fp128:
 2432   case MIToken::MachineBasicBlock:
 2434   case MIToken::StackObject:
 2436   case MIToken::FixedStackObject:
 2438   case MIToken::GlobalValue:
 2439   case MIToken::NamedGlobalValue:
 2441   case MIToken::ConstantPoolItem:
 2443   case MIToken::JumpTableIndex:
 2445   case MIToken::ExternalSymbol:
 2447   case MIToken::MCSymbol:
 2449   case MIToken::SubRegisterIndex:
 2451   case MIToken::md_diexpr:
 2452   case MIToken::exclaim:
 2454   case MIToken::kw_cfi_same_value:
 2455   case MIToken::kw_cfi_offset:
 2456   case MIToken::kw_cfi_rel_offset:
 2457   case MIToken::kw_cfi_def_cfa_register:
 2458   case MIToken::kw_cfi_def_cfa_offset:
 2459   case MIToken::kw_cfi_adjust_cfa_offset:
 2460   case MIToken::kw_cfi_escape:
 2461   case MIToken::kw_cfi_def_cfa:
 2462   case MIToken::kw_cfi_register:
 2463   case MIToken::kw_cfi_remember_state:
 2464   case MIToken::kw_cfi_restore:
 2465   case MIToken::kw_cfi_restore_state:
 2466   case MIToken::kw_cfi_undefined:
 2467   case MIToken::kw_cfi_window_save:
 2468   case MIToken::kw_cfi_aarch64_negate_ra_sign_state:
 2470   case MIToken::kw_blockaddress:
 2472   case MIToken::kw_intrinsic:
 2474   case MIToken::kw_target_index:
 2476   case MIToken::kw_liveout:
 2478   case MIToken::kw_floatpred:
 2479   case MIToken::kw_intpred:
 2481   case MIToken::kw_shufflemask:
 2483   case MIToken::Error:
 2485   case MIToken::Identifier:
 2505   if (Token.is(MIToken::kw_target_flags)) {
 2508     if (expectAndConsume(MIToken::lparen))
 2510     if (Token.isNot(MIToken::Identifier))
 2518     while (Token.is(MIToken::comma)) {
 2520       if (Token.isNot(MIToken::Identifier))
 2530     if (expectAndConsume(MIToken::rparen))
 2545   if (Token.isNot(MIToken::plus) && Token.isNot(MIToken::minus))
 2545   if (Token.isNot(MIToken::plus) && Token.isNot(MIToken::minus))
 2548   bool IsNegative = Token.is(MIToken::minus);
 2550   if (Token.isNot(MIToken::IntegerLiteral))
 2564   if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned())
 2579   if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned())
 2597   case MIToken::NamedIRValue: {
 2601   case MIToken::IRValue: {
 2608   case MIToken::NamedGlobalValue:
 2609   case MIToken::GlobalValue: {
 2616   case MIToken::QuotedIRValue: {
 2638   if (Token.is(MIToken::HexLiteral)) {
 2670   case MIToken::kw_volatile:
 2673   case MIToken::kw_non_temporal:
 2676   case MIToken::kw_dereferenceable:
 2679   case MIToken::kw_invariant:
 2682   case MIToken::StringConstant: {
 2703   case MIToken::kw_stack:
 2706   case MIToken::kw_got:
 2709   case MIToken::kw_jump_table:
 2712   case MIToken::kw_constant_pool:
 2715   case MIToken::FixedStackObject: {
 2723   case MIToken::StackObject: {
 2731   case MIToken::kw_call_entry:
 2734     case MIToken::GlobalValue:
 2735     case MIToken::NamedGlobalValue: {
 2742     case MIToken::ExternalSymbol:
 2759   if (Token.is(MIToken::kw_constant_pool) || Token.is(MIToken::kw_stack) ||
 2759   if (Token.is(MIToken::kw_constant_pool) || Token.is(MIToken::kw_stack) ||
 2760       Token.is(MIToken::kw_got) || Token.is(MIToken::kw_jump_table) ||
 2760       Token.is(MIToken::kw_got) || Token.is(MIToken::kw_jump_table) ||
 2761       Token.is(MIToken::FixedStackObject) || Token.is(MIToken::StackObject) ||
 2761       Token.is(MIToken::FixedStackObject) || Token.is(MIToken::StackObject) ||
 2762       Token.is(MIToken::kw_call_entry)) {
 2772   if (Token.isNot(MIToken::NamedIRValue) && Token.isNot(MIToken::IRValue) &&
 2772   if (Token.isNot(MIToken::NamedIRValue) && Token.isNot(MIToken::IRValue) &&
 2773       Token.isNot(MIToken::GlobalValue) &&
 2774       Token.isNot(MIToken::NamedGlobalValue) &&
 2775       Token.isNot(MIToken::QuotedIRValue))
 2793   if (Token.is(MIToken::Identifier) && Token.stringValue() == "syncscope") {
 2795     if (expectAndConsume(MIToken::lparen))
 2803     if (expectAndConsume(MIToken::rparen))
 2812   if (Token.isNot(MIToken::Identifier))
 2833   if (expectAndConsume(MIToken::lparen))
 2840   if (Token.isNot(MIToken::Identifier) ||
 2850   if (Token.is(MIToken::Identifier) && Token.stringValue() == "store") {
 2868   if (Token.isNot(MIToken::IntegerLiteral) &&
 2869       Token.isNot(MIToken::kw_unknown_size))
 2873   if (Token.is(MIToken::IntegerLiteral)) {
 2876   } else if (Token.is(MIToken::kw_unknown_size)) {
 2882   if (Token.is(MIToken::Identifier)) {
 2898   while (consumeIfPresent(MIToken::comma)) {
 2900     case MIToken::kw_align:
 2904     case MIToken::kw_addrspace:
 2908     case MIToken::md_tbaa:
 2913     case MIToken::md_alias_scope:
 2918     case MIToken::md_noalias:
 2923     case MIToken::md_range:
 2934   if (expectAndConsume(MIToken::rparen))
 2946   if (Token.isNot(MIToken::MCSymbol))
 2950   if (Token.isNewlineOrEOF() || Token.is(MIToken::coloncolon) ||
 2951       Token.is(MIToken::lbrace))
 2953   if (Token.isNot(MIToken::comma))
 3038   if (Token.isNot(MIToken::StringConstant))