Lines Matching defs:Token

168 static Cursor lexName(Cursor C, MIToken &Token, MIToken::TokenKind Type,
175 Token.reset(Type, String)
180 Token.reset(MIToken::Error, Range.remaining());
185 Token.reset(Type, Range.upto(C))
293 static Cursor maybeLexIdentifier(Cursor C, MIToken &Token) {
300 Token.reset(getIdentifierKind(Identifier), Identifier)
305 static Cursor maybeLexMachineBasicBlock(Cursor C, MIToken &Token,
314 Token.reset(MIToken::Error, C.remaining());
332 Token.reset(IsReference ? MIToken::MachineBasicBlock
340 static Cursor maybeLexIndex(Cursor C, MIToken &Token, StringRef Rule,
349 Token.reset(Kind, Range.upto(C)).setIntegerValue(APSInt(NumberRange.upto(C)));
353 static Cursor maybeLexIndexAndName(Cursor C, MIToken &Token, StringRef Rule,
370 Token.reset(Kind, Range.upto(C))
376 static Cursor maybeLexJumpTableIndex(Cursor C, MIToken &Token) {
377 return maybeLexIndex(C, Token, "%jump-table.", MIToken::JumpTableIndex);
380 static Cursor maybeLexStackObject(Cursor C, MIToken &Token) {
381 return maybeLexIndexAndName(C, Token, "%stack.", MIToken::StackObject);
384 static Cursor maybeLexFixedStackObject(Cursor C, MIToken &Token) {
385 return maybeLexIndex(C, Token, "%fixed-stack.", MIToken::FixedStackObject);
388 static Cursor maybeLexConstantPoolItem(Cursor C, MIToken &Token) {
389 return maybeLexIndex(C, Token, "%const.", MIToken::ConstantPoolItem);
392 static Cursor maybeLexSubRegisterIndex(Cursor C, MIToken &Token,
397 return lexName(C, Token, MIToken::SubRegisterIndex, Rule.size(),
401 static Cursor maybeLexIRBlock(Cursor C, MIToken &Token,
407 return maybeLexIndex(C, Token, Rule, MIToken::IRBlock);
408 return lexName(C, Token, MIToken::NamedIRBlock, Rule.size(), ErrorCallback);
411 static Cursor maybeLexIRValue(Cursor C, MIToken &Token,
417 return maybeLexIndex(C, Token, Rule, MIToken::IRValue);
418 return lexName(C, Token, MIToken::NamedIRValue, Rule.size(), ErrorCallback);
421 static Cursor maybeLexStringConstant(Cursor C, MIToken &Token,
425 return lexName(C, Token, MIToken::StringConstant, /*PrefixLength=*/0,
429 static Cursor lexVirtualRegister(Cursor C, MIToken &Token) {
435 Token.reset(MIToken::VirtualRegister, Range.upto(C))
445 static Cursor lexNamedVirtualRegister(Cursor C, MIToken &Token) {
450 Token.reset(MIToken::NamedVirtualRegister, Range.upto(C))
455 static Cursor maybeLexRegister(Cursor C, MIToken &Token,
462 return lexVirtualRegister(C, Token);
465 return lexNamedVirtualRegister(C, Token);
475 Token.reset(MIToken::NamedRegister, Range.upto(C))
480 static Cursor maybeLexGlobalValue(Cursor C, MIToken &Token,
485 return lexName(C, Token, MIToken::NamedGlobalValue, /*PrefixLength=*/1,
492 Token.reset(MIToken::GlobalValue, Range.upto(C))
497 static Cursor maybeLexExternalSymbol(Cursor C, MIToken &Token,
501 return lexName(C, Token, MIToken::ExternalSymbol, /*PrefixLength=*/1,
505 static Cursor maybeLexMCSymbol(Cursor C, MIToken &Token,
521 Token.reset(MIToken::Error, Start.remaining());
526 Token.reset(MIToken::MCSymbol, Start.upto(C)).setStringValue(String);
535 Token.reset(MIToken::Error, Start.remaining());
542 Token.reset(MIToken::Error, Start.remaining());
547 Token.reset(MIToken::MCSymbol, Start.upto(R))
556 static Cursor lexFloatingPointLiteral(Cursor Range, Cursor C, MIToken &Token) {
568 Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
572 static Cursor maybeLexHexadecimalLiteral(Cursor C, MIToken &Token) {
588 Token.reset(MIToken::HexLiteral, Range.upto(C));
590 Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
594 static Cursor maybeLexNumericalLiteral(Cursor C, MIToken &Token) {
602 return lexFloatingPointLiteral(Range, C, Token);
604 Token.reset(MIToken::IntegerLiteral, StrVal).setIntegerValue(APSInt(StrVal));
619 static Cursor maybeLexExclaim(Cursor C, MIToken &Token,
626 Token.reset(MIToken::exclaim, Range.upto(C));
632 Token.reset(getMetadataKeywordKind(StrVal), StrVal);
633 if (Token.isError())
634 ErrorCallback(Token.location(),
670 static Cursor maybeLexSymbol(Cursor C, MIToken &Token) {
682 Token.reset(Kind, Range.upto(C));
686 static Cursor maybeLexNewline(Cursor C, MIToken &Token) {
691 Token.reset(MIToken::Newline, Range.upto(C));
695 static Cursor maybeLexEscapedIRValue(Cursor C, MIToken &Token,
707 Token.reset(MIToken::Error, Range.remaining());
714 Token.reset(MIToken::QuotedIRValue, Range.upto(C)).setStringValue(Value);
718 StringRef llvm::lexMIToken(StringRef Source, MIToken &Token,
722 Token.reset(MIToken::Eof, C.remaining());
728 if (Cursor R = maybeLexMachineBasicBlock(C, Token, ErrorCallback))
730 if (Cursor R = maybeLexIdentifier(C, Token))
732 if (Cursor R = maybeLexJumpTableIndex(C, Token))
734 if (Cursor R = maybeLexStackObject(C, Token))
736 if (Cursor R = maybeLexFixedStackObject(C, Token))
738 if (Cursor R = maybeLexConstantPoolItem(C, Token))
740 if (Cursor R = maybeLexSubRegisterIndex(C, Token, ErrorCallback))
742 if (Cursor R = maybeLexIRBlock(C, Token, ErrorCallback))
744 if (Cursor R = maybeLexIRValue(C, Token, ErrorCallback))
746 if (Cursor R = maybeLexRegister(C, Token, ErrorCallback))
748 if (Cursor R = maybeLexGlobalValue(C, Token, ErrorCallback))
750 if (Cursor R = maybeLexExternalSymbol(C, Token, ErrorCallback))
752 if (Cursor R = maybeLexMCSymbol(C, Token, ErrorCallback))
754 if (Cursor R = maybeLexHexadecimalLiteral(C, Token))
756 if (Cursor R = maybeLexNumericalLiteral(C, Token))
758 if (Cursor R = maybeLexExclaim(C, Token, ErrorCallback))
760 if (Cursor R = maybeLexSymbol(C, Token))
762 if (Cursor R = maybeLexNewline(C, Token))
764 if (Cursor R = maybeLexEscapedIRValue(C, Token, ErrorCallback))
766 if (Cursor R = maybeLexStringConstant(C, Token, ErrorCallback))
769 Token.reset(MIToken::Error, C.remaining());