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))
296 static Cursor maybeLexIdentifier(Cursor C, MIToken &Token) {
303 Token.reset(getIdentifierKind(Identifier), Identifier)
308 static Cursor maybeLexMachineBasicBlock(Cursor C, MIToken &Token,
317 Token.reset(MIToken::Error, C.remaining());
335 Token.reset(IsReference ? MIToken::MachineBasicBlock
343 static Cursor maybeLexIndex(Cursor C, MIToken &Token, StringRef Rule,
352 Token.reset(Kind, Range.upto(C)).setIntegerValue(APSInt(NumberRange.upto(C)));
356 static Cursor maybeLexIndexAndName(Cursor C, MIToken &Token, StringRef Rule,
373 Token.reset(Kind, Range.upto(C))
379 static Cursor maybeLexJumpTableIndex(Cursor C, MIToken &Token) {
380 return maybeLexIndex(C, Token, "%jump-table.", MIToken::JumpTableIndex);
383 static Cursor maybeLexStackObject(Cursor C, MIToken &Token) {
384 return maybeLexIndexAndName(C, Token, "%stack.", MIToken::StackObject);
387 static Cursor maybeLexFixedStackObject(Cursor C, MIToken &Token) {
388 return maybeLexIndex(C, Token, "%fixed-stack.", MIToken::FixedStackObject);
391 static Cursor maybeLexConstantPoolItem(Cursor C, MIToken &Token) {
392 return maybeLexIndex(C, Token, "%const.", MIToken::ConstantPoolItem);
395 static Cursor maybeLexSubRegisterIndex(Cursor C, MIToken &Token,
400 return lexName(C, Token, MIToken::SubRegisterIndex, Rule.size(),
404 static Cursor maybeLexIRBlock(Cursor C, MIToken &Token,
410 return maybeLexIndex(C, Token, Rule, MIToken::IRBlock);
411 return lexName(C, Token, MIToken::NamedIRBlock, Rule.size(), ErrorCallback);
414 static Cursor maybeLexIRValue(Cursor C, MIToken &Token,
420 return maybeLexIndex(C, Token, Rule, MIToken::IRValue);
421 return lexName(C, Token, MIToken::NamedIRValue, Rule.size(), ErrorCallback);
424 static Cursor maybeLexStringConstant(Cursor C, MIToken &Token,
428 return lexName(C, Token, MIToken::StringConstant, /*PrefixLength=*/0,
432 static Cursor lexVirtualRegister(Cursor C, MIToken &Token) {
438 Token.reset(MIToken::VirtualRegister, Range.upto(C))
448 static Cursor lexNamedVirtualRegister(Cursor C, MIToken &Token) {
453 Token.reset(MIToken::NamedVirtualRegister, Range.upto(C))
458 static Cursor maybeLexRegister(Cursor C, MIToken &Token,
465 return lexVirtualRegister(C, Token);
468 return lexNamedVirtualRegister(C, Token);
478 Token.reset(MIToken::NamedRegister, Range.upto(C))
483 static Cursor maybeLexGlobalValue(Cursor C, MIToken &Token,
488 return lexName(C, Token, MIToken::NamedGlobalValue, /*PrefixLength=*/1,
495 Token.reset(MIToken::GlobalValue, Range.upto(C))
500 static Cursor maybeLexExternalSymbol(Cursor C, MIToken &Token,
504 return lexName(C, Token, MIToken::ExternalSymbol, /*PrefixLength=*/1,
508 static Cursor maybeLexMCSymbol(Cursor C, MIToken &Token,
524 Token.reset(MIToken::Error, Start.remaining());
529 Token.reset(MIToken::MCSymbol, Start.upto(C)).setStringValue(String);
538 Token.reset(MIToken::Error, Start.remaining());
545 Token.reset(MIToken::Error, Start.remaining());
550 Token.reset(MIToken::MCSymbol, Start.upto(R))
559 static Cursor lexFloatingPointLiteral(Cursor Range, Cursor C, MIToken &Token) {
571 Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
575 static Cursor maybeLexHexadecimalLiteral(Cursor C, MIToken &Token) {
591 Token.reset(MIToken::HexLiteral, Range.upto(C));
593 Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
597 static Cursor maybeLexNumericalLiteral(Cursor C, MIToken &Token) {
605 return lexFloatingPointLiteral(Range, C, Token);
607 Token.reset(MIToken::IntegerLiteral, StrVal).setIntegerValue(APSInt(StrVal));
622 static Cursor maybeLexExclaim(Cursor C, MIToken &Token,
629 Token.reset(MIToken::exclaim, Range.upto(C));
635 Token.reset(getMetadataKeywordKind(StrVal), StrVal);
636 if (Token.isError())
637 ErrorCallback(Token.location(),
673 static Cursor maybeLexSymbol(Cursor C, MIToken &Token) {
685 Token.reset(Kind, Range.upto(C));
689 static Cursor maybeLexNewline(Cursor C, MIToken &Token) {
694 Token.reset(MIToken::Newline, Range.upto(C));
698 static Cursor maybeLexEscapedIRValue(Cursor C, MIToken &Token,
710 Token.reset(MIToken::Error, Range.remaining());
717 Token.reset(MIToken::QuotedIRValue, Range.upto(C)).setStringValue(Value);
721 StringRef llvm::lexMIToken(StringRef Source, MIToken &Token,
725 Token.reset(MIToken::Eof, C.remaining());
731 if (Cursor R = maybeLexMachineBasicBlock(C, Token, ErrorCallback))
733 if (Cursor R = maybeLexIdentifier(C, Token))
735 if (Cursor R = maybeLexJumpTableIndex(C, Token))
737 if (Cursor R = maybeLexStackObject(C, Token))
739 if (Cursor R = maybeLexFixedStackObject(C, Token))
741 if (Cursor R = maybeLexConstantPoolItem(C, Token))
743 if (Cursor R = maybeLexSubRegisterIndex(C, Token, ErrorCallback))
745 if (Cursor R = maybeLexIRBlock(C, Token, ErrorCallback))
747 if (Cursor R = maybeLexIRValue(C, Token, ErrorCallback))
749 if (Cursor R = maybeLexRegister(C, Token, ErrorCallback))
751 if (Cursor R = maybeLexGlobalValue(C, Token, ErrorCallback))
753 if (Cursor R = maybeLexExternalSymbol(C, Token, ErrorCallback))
755 if (Cursor R = maybeLexMCSymbol(C, Token, ErrorCallback))
757 if (Cursor R = maybeLexHexadecimalLiteral(C, Token))
759 if (Cursor R = maybeLexNumericalLiteral(C, Token))
761 if (Cursor R = maybeLexExclaim(C, Token, ErrorCallback))
763 if (Cursor R = maybeLexSymbol(C, Token))
765 if (Cursor R = maybeLexNewline(C, Token))
767 if (Cursor R = maybeLexEscapedIRValue(C, Token, ErrorCallback))
769 if (Cursor R = maybeLexStringConstant(C, Token, ErrorCallback))
772 Token.reset(MIToken::Error, C.remaining());