Lines Matching refs:Token

159 static Cursor lexName(Cursor C, MIToken &Token, MIToken::TokenKind Type,
166 Token.reset(Type, String)
171 Token.reset(MIToken::Error, Range.remaining());
176 Token.reset(Type, Range.upto(C))
261 static Cursor maybeLexIdentifier(Cursor C, MIToken &Token) {
268 Token.reset(getIdentifierKind(Identifier), Identifier)
273 static Cursor maybeLexMachineBasicBlock(Cursor C, MIToken &Token,
282 Token.reset(MIToken::Error, C.remaining());
300 Token.reset(IsReference ? MIToken::MachineBasicBlock
308 static Cursor maybeLexIndex(Cursor C, MIToken &Token, StringRef Rule,
317 Token.reset(Kind, Range.upto(C)).setIntegerValue(APSInt(NumberRange.upto(C)));
321 static Cursor maybeLexIndexAndName(Cursor C, MIToken &Token, StringRef Rule,
338 Token.reset(Kind, Range.upto(C))
344 static Cursor maybeLexJumpTableIndex(Cursor C, MIToken &Token) {
345 return maybeLexIndex(C, Token, "%jump-table.", MIToken::JumpTableIndex);
348 static Cursor maybeLexStackObject(Cursor C, MIToken &Token) {
349 return maybeLexIndexAndName(C, Token, "%stack.", MIToken::StackObject);
352 static Cursor maybeLexFixedStackObject(Cursor C, MIToken &Token) {
353 return maybeLexIndex(C, Token, "%fixed-stack.", MIToken::FixedStackObject);
356 static Cursor maybeLexConstantPoolItem(Cursor C, MIToken &Token) {
357 return maybeLexIndex(C, Token, "%const.", MIToken::ConstantPoolItem);
360 static Cursor maybeLexSubRegisterIndex(Cursor C, MIToken &Token,
365 return lexName(C, Token, MIToken::SubRegisterIndex, Rule.size(),
369 static Cursor maybeLexIRBlock(Cursor C, MIToken &Token,
375 return maybeLexIndex(C, Token, Rule, MIToken::IRBlock);
376 return lexName(C, Token, MIToken::NamedIRBlock, Rule.size(), ErrorCallback);
379 static Cursor maybeLexIRValue(Cursor C, MIToken &Token,
385 return maybeLexIndex(C, Token, Rule, MIToken::IRValue);
386 return lexName(C, Token, MIToken::NamedIRValue, Rule.size(), ErrorCallback);
389 static Cursor maybeLexStringConstant(Cursor C, MIToken &Token,
393 return lexName(C, Token, MIToken::StringConstant, /*PrefixLength=*/0,
397 static Cursor lexVirtualRegister(Cursor C, MIToken &Token) {
403 Token.reset(MIToken::VirtualRegister, Range.upto(C))
413 static Cursor lexNamedVirtualRegister(Cursor C, MIToken &Token) {
418 Token.reset(MIToken::NamedVirtualRegister, Range.upto(C))
423 static Cursor maybeLexRegister(Cursor C, MIToken &Token,
430 return lexVirtualRegister(C, Token);
433 return lexNamedVirtualRegister(C, Token);
443 Token.reset(MIToken::NamedRegister, Range.upto(C))
448 static Cursor maybeLexGlobalValue(Cursor C, MIToken &Token,
453 return lexName(C, Token, MIToken::NamedGlobalValue, /*PrefixLength=*/1,
460 Token.reset(MIToken::GlobalValue, Range.upto(C))
465 static Cursor maybeLexExternalSymbol(Cursor C, MIToken &Token,
469 return lexName(C, Token, MIToken::ExternalSymbol, /*PrefixLength=*/1,
473 static Cursor maybeLexMCSymbol(Cursor C, MIToken &Token,
489 Token.reset(MIToken::Error, Start.remaining());
494 Token.reset(MIToken::MCSymbol, Start.upto(C)).setStringValue(String);
503 Token.reset(MIToken::Error, Start.remaining());
510 Token.reset(MIToken::Error, Start.remaining());
515 Token.reset(MIToken::MCSymbol, Start.upto(R))
524 static Cursor lexFloatingPointLiteral(Cursor Range, Cursor C, MIToken &Token) {
536 Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
540 static Cursor maybeLexHexadecimalLiteral(Cursor C, MIToken &Token) {
556 Token.reset(MIToken::HexLiteral, Range.upto(C));
558 Token.reset(MIToken::FloatingPointLiteral, Range.upto(C));
562 static Cursor maybeLexNumericalLiteral(Cursor C, MIToken &Token) {
570 return lexFloatingPointLiteral(Range, C, Token);
572 Token.reset(MIToken::IntegerLiteral, StrVal).setIntegerValue(APSInt(StrVal));
587 static Cursor maybeLexExclaim(Cursor C, MIToken &Token,
594 Token.reset(MIToken::exclaim, Range.upto(C));
600 Token.reset(getMetadataKeywordKind(StrVal), StrVal);
601 if (Token.isError())
602 ErrorCallback(Token.location(),
638 static Cursor maybeLexSymbol(Cursor C, MIToken &Token) {
650 Token.reset(Kind, Range.upto(C));
654 static Cursor maybeLexNewline(Cursor C, MIToken &Token) {
659 Token.reset(MIToken::Newline, Range.upto(C));
663 static Cursor maybeLexEscapedIRValue(Cursor C, MIToken &Token,
675 Token.reset(MIToken::Error, Range.remaining());
682 Token.reset(MIToken::QuotedIRValue, Range.upto(C)).setStringValue(Value);
686 StringRef llvm::lexMIToken(StringRef Source, MIToken &Token,
690 Token.reset(MIToken::Eof, C.remaining());
694 if (Cursor R = maybeLexMachineBasicBlock(C, Token, ErrorCallback))
696 if (Cursor R = maybeLexIdentifier(C, Token))
698 if (Cursor R = maybeLexJumpTableIndex(C, Token))
700 if (Cursor R = maybeLexStackObject(C, Token))
702 if (Cursor R = maybeLexFixedStackObject(C, Token))
704 if (Cursor R = maybeLexConstantPoolItem(C, Token))
706 if (Cursor R = maybeLexSubRegisterIndex(C, Token, ErrorCallback))
708 if (Cursor R = maybeLexIRBlock(C, Token, ErrorCallback))
710 if (Cursor R = maybeLexIRValue(C, Token, ErrorCallback))
712 if (Cursor R = maybeLexRegister(C, Token, ErrorCallback))
714 if (Cursor R = maybeLexGlobalValue(C, Token, ErrorCallback))
716 if (Cursor R = maybeLexExternalSymbol(C, Token, ErrorCallback))
718 if (Cursor R = maybeLexMCSymbol(C, Token, ErrorCallback))
720 if (Cursor R = maybeLexHexadecimalLiteral(C, Token))
722 if (Cursor R = maybeLexNumericalLiteral(C, Token))
724 if (Cursor R = maybeLexExclaim(C, Token, ErrorCallback))
726 if (Cursor R = maybeLexSymbol(C, Token))
728 if (Cursor R = maybeLexNewline(C, Token))
730 if (Cursor R = maybeLexEscapedIRValue(C, Token, ErrorCallback))
732 if (Cursor R = maybeLexStringConstant(C, Token, ErrorCallback))
735 Token.reset(MIToken::Error, C.remaining());