Lines Matching refs:MIToken
396 MIToken Token;
540 bool expectAndConsume(MIToken::TokenKind TokenKind);
544 bool consumeIfPresent(MIToken::TokenKind TokenKind);
616 static const char *toString(MIToken::TokenKind TokenKind) { in toString()
618 case MIToken::comma: in toString()
620 case MIToken::equal: in toString()
622 case MIToken::colon: in toString()
624 case MIToken::lparen: in toString()
626 case MIToken::rparen: in toString()
633 bool MIParser::expectAndConsume(MIToken::TokenKind TokenKind) { in expectAndConsume()
640 bool MIParser::consumeIfPresent(MIToken::TokenKind TokenKind) { in consumeIfPresent()
649 assert(Token.is(MIToken::kw_bbsections)); in parseSectionID()
651 if (Token.is(MIToken::IntegerLiteral)) { in parseSectionID()
671 assert(Token.is(MIToken::kw_bb_id)); in parseBBID()
678 if (Token.is(MIToken::IntegerLiteral)) { in parseBBID()
689 assert(Token.is(MIToken::kw_call_frame_size)); in parseCallFrameSize()
701 assert(Token.is(MIToken::MachineBasicBlockLabel)); in parseBasicBlockDefinition()
718 if (consumeIfPresent(MIToken::lparen)) { in parseBasicBlockDefinition()
722 case MIToken::kw_machine_block_address_taken: in parseBasicBlockDefinition()
726 case MIToken::kw_ir_block_address_taken: in parseBasicBlockDefinition()
730 case MIToken::kw_landing_pad: in parseBasicBlockDefinition()
734 case MIToken::kw_inlineasm_br_indirect_target: in parseBasicBlockDefinition()
738 case MIToken::kw_ehfunclet_entry: in parseBasicBlockDefinition()
742 case MIToken::kw_align: in parseBasicBlockDefinition()
746 case MIToken::IRBlock: in parseBasicBlockDefinition()
747 case MIToken::NamedIRBlock: in parseBasicBlockDefinition()
753 case MIToken::kw_bbsections: in parseBasicBlockDefinition()
757 case MIToken::kw_bb_id: in parseBasicBlockDefinition()
761 case MIToken::kw_call_frame_size: in parseBasicBlockDefinition()
768 } while (consumeIfPresent(MIToken::comma)); in parseBasicBlockDefinition()
769 if (expectAndConsume(MIToken::rparen)) in parseBasicBlockDefinition()
772 if (expectAndConsume(MIToken::colon)) in parseBasicBlockDefinition()
817 while (Token.is(MIToken::Newline)) in parseBasicBlockDefinitions()
821 if (Token.isNot(MIToken::MachineBasicBlockLabel)) in parseBasicBlockDefinitions()
830 if ((Token.is(MIToken::MachineBasicBlockLabel) && IsAfterNewline) || in parseBasicBlockDefinitions()
833 else if (Token.is(MIToken::MachineBasicBlockLabel)) in parseBasicBlockDefinitions()
836 else if (consumeIfPresent(MIToken::Newline)) { in parseBasicBlockDefinitions()
841 if (Token.is(MIToken::lbrace)) in parseBasicBlockDefinitions()
843 if (Token.is(MIToken::rbrace)) { in parseBasicBlockDefinitions()
858 assert(Token.is(MIToken::kw_liveins)); in parseBasicBlockLiveins()
860 if (expectAndConsume(MIToken::colon)) in parseBasicBlockLiveins()
865 if (Token.isNot(MIToken::NamedRegister)) in parseBasicBlockLiveins()
872 if (consumeIfPresent(MIToken::colon)) { in parseBasicBlockLiveins()
874 if (Token.isNot(MIToken::IntegerLiteral) && in parseBasicBlockLiveins()
875 Token.isNot(MIToken::HexLiteral)) in parseBasicBlockLiveins()
886 } while (consumeIfPresent(MIToken::comma)); in parseBasicBlockLiveins()
891 assert(Token.is(MIToken::kw_successors)); in parseBasicBlockSuccessors()
893 if (expectAndConsume(MIToken::colon)) in parseBasicBlockSuccessors()
898 if (Token.isNot(MIToken::MachineBasicBlock)) in parseBasicBlockSuccessors()
905 if (consumeIfPresent(MIToken::lparen)) { in parseBasicBlockSuccessors()
906 if (Token.isNot(MIToken::IntegerLiteral) && in parseBasicBlockSuccessors()
907 Token.isNot(MIToken::HexLiteral)) in parseBasicBlockSuccessors()
912 if (expectAndConsume(MIToken::rparen)) in parseBasicBlockSuccessors()
916 } while (consumeIfPresent(MIToken::comma)); in parseBasicBlockSuccessors()
924 assert(Token.is(MIToken::MachineBasicBlockLabel)); in parseBasicBlock()
926 if (consumeIfPresent(MIToken::lparen)) { in parseBasicBlock()
927 while (Token.isNot(MIToken::rparen) && !Token.isErrorOrEOF()) in parseBasicBlock()
929 consumeIfPresent(MIToken::rparen); in parseBasicBlock()
931 consumeIfPresent(MIToken::colon); in parseBasicBlock()
944 if (Token.is(MIToken::kw_successors)) { in parseBasicBlock()
948 } else if (Token.is(MIToken::kw_liveins)) { in parseBasicBlock()
951 } else if (consumeIfPresent(MIToken::Newline)) { in parseBasicBlock()
963 while (!Token.is(MIToken::MachineBasicBlockLabel) && in parseBasicBlock()
964 !Token.is(MIToken::Eof)) { in parseBasicBlock()
965 if (consumeIfPresent(MIToken::Newline)) in parseBasicBlock()
967 if (consumeIfPresent(MIToken::rbrace)) { in parseBasicBlock()
983 if (Token.is(MIToken::lbrace)) { in parseBasicBlock()
990 if (!Token.is(MIToken::Newline)) in parseBasicBlock()
1019 while (Token.is(MIToken::Newline)) in parseBasicBlocks()
1025 assert(Token.is(MIToken::MachineBasicBlockLabel)); in parseBasicBlocks()
1041 assert(Token.is(MIToken::MachineBasicBlockLabel) || Token.is(MIToken::Eof)); in parseBasicBlocks()
1042 } while (Token.isNot(MIToken::Eof)); in parseBasicBlocks()
1057 if (Token.isNot(MIToken::comma)) in parse()
1061 if (!Operands.empty() && expectAndConsume(MIToken::equal)) in parse()
1069 while (!Token.isNewlineOrEOF() && Token.isNot(MIToken::kw_pre_instr_symbol) && in parse()
1070 Token.isNot(MIToken::kw_post_instr_symbol) && in parse()
1071 Token.isNot(MIToken::kw_heap_alloc_marker) && in parse()
1072 Token.isNot(MIToken::kw_pcsections) && in parse()
1073 Token.isNot(MIToken::kw_cfi_type) && in parse()
1074 Token.isNot(MIToken::kw_debug_location) && in parse()
1075 Token.isNot(MIToken::kw_debug_instr_number) && in parse()
1076 Token.isNot(MIToken::coloncolon) && Token.isNot(MIToken::lbrace)) { in parse()
1083 if (Token.isNewlineOrEOF() || Token.is(MIToken::coloncolon) || in parse()
1084 Token.is(MIToken::lbrace)) in parse()
1086 if (Token.isNot(MIToken::comma)) in parse()
1092 if (Token.is(MIToken::kw_pre_instr_symbol)) in parse()
1096 if (Token.is(MIToken::kw_post_instr_symbol)) in parse()
1100 if (Token.is(MIToken::kw_heap_alloc_marker)) in parse()
1104 if (Token.is(MIToken::kw_pcsections)) in parse()
1109 if (Token.is(MIToken::kw_cfi_type)) { in parse()
1111 if (Token.isNot(MIToken::IntegerLiteral)) in parse()
1118 if (Token.is(MIToken::comma)) in parse()
1123 if (Token.is(MIToken::kw_debug_instr_number)) { in parse()
1125 if (Token.isNot(MIToken::IntegerLiteral)) in parse()
1131 if (Token.is(MIToken::comma)) in parse()
1136 if (Token.is(MIToken::kw_debug_location)) { in parse()
1139 if (Token.is(MIToken::exclaim)) { in parse()
1142 } else if (Token.is(MIToken::md_dilocation)) { in parse()
1154 if (Token.is(MIToken::coloncolon)) { in parse()
1163 if (Token.isNot(MIToken::comma)) in parse()
1205 if (Token.isNot(MIToken::MachineBasicBlock)) in parseStandaloneMBB()
1210 if (Token.isNot(MIToken::Eof)) in parseStandaloneMBB()
1218 if (Token.isNot(MIToken::NamedRegister)) in parseStandaloneNamedRegister()
1223 if (Token.isNot(MIToken::Eof)) in parseStandaloneNamedRegister()
1230 if (Token.isNot(MIToken::VirtualRegister)) in parseStandaloneVirtualRegister()
1235 if (Token.isNot(MIToken::Eof)) in parseStandaloneVirtualRegister()
1242 if (Token.isNot(MIToken::NamedRegister) && in parseStandaloneRegister()
1243 Token.isNot(MIToken::VirtualRegister)) in parseStandaloneRegister()
1251 if (Token.isNot(MIToken::Eof)) in parseStandaloneRegister()
1258 if (Token.isNot(MIToken::StackObject)) in parseStandaloneStackObject()
1262 if (Token.isNot(MIToken::Eof)) in parseStandaloneStackObject()
1269 if (Token.is(MIToken::exclaim)) { in parseStandaloneMDNode()
1272 } else if (Token.is(MIToken::md_diexpr)) { in parseStandaloneMDNode()
1275 } else if (Token.is(MIToken::md_dilocation)) { in parseStandaloneMDNode()
1280 if (Token.isNot(MIToken::Eof)) in parseStandaloneMDNode()
1287 if (Token.isNot(MIToken::exclaim)) in parseMachineMetadata()
1291 if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned()) in parseMachineMetadata()
1297 if (expectAndConsume(MIToken::equal)) in parseMachineMetadata()
1299 bool IsDistinct = Token.is(MIToken::kw_distinct); in parseMachineMetadata()
1302 if (Token.isNot(MIToken::exclaim)) in parseMachineMetadata()
1335 if (Token.isNot(MIToken::lbrace)) in parseMDNodeVector()
1339 if (Token.is(MIToken::rbrace)) { in parseMDNodeVector()
1351 if (Token.isNot(MIToken::comma)) in parseMDNodeVector()
1356 if (Token.isNot(MIToken::rbrace)) in parseMDNodeVector()
1366 if (Token.isNot(MIToken::exclaim)) in parseMetadata()
1370 if (Token.is(MIToken::StringConstant)) { in parseMetadata()
1378 if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned()) in parseMetadata()
1460 while (Token.is(MIToken::kw_frame_setup) || in parseInstruction()
1461 Token.is(MIToken::kw_frame_destroy) || in parseInstruction()
1462 Token.is(MIToken::kw_nnan) || in parseInstruction()
1463 Token.is(MIToken::kw_ninf) || in parseInstruction()
1464 Token.is(MIToken::kw_nsz) || in parseInstruction()
1465 Token.is(MIToken::kw_arcp) || in parseInstruction()
1466 Token.is(MIToken::kw_contract) || in parseInstruction()
1467 Token.is(MIToken::kw_afn) || in parseInstruction()
1468 Token.is(MIToken::kw_reassoc) || in parseInstruction()
1469 Token.is(MIToken::kw_nuw) || in parseInstruction()
1470 Token.is(MIToken::kw_nsw) || in parseInstruction()
1471 Token.is(MIToken::kw_exact) || in parseInstruction()
1472 Token.is(MIToken::kw_nofpexcept) || in parseInstruction()
1473 Token.is(MIToken::kw_noconvergent) || in parseInstruction()
1474 Token.is(MIToken::kw_unpredictable)) { in parseInstruction()
1477 if (Token.is(MIToken::kw_frame_setup)) in parseInstruction()
1479 if (Token.is(MIToken::kw_frame_destroy)) in parseInstruction()
1481 if (Token.is(MIToken::kw_nnan)) in parseInstruction()
1483 if (Token.is(MIToken::kw_ninf)) in parseInstruction()
1485 if (Token.is(MIToken::kw_nsz)) in parseInstruction()
1487 if (Token.is(MIToken::kw_arcp)) in parseInstruction()
1489 if (Token.is(MIToken::kw_contract)) in parseInstruction()
1491 if (Token.is(MIToken::kw_afn)) in parseInstruction()
1493 if (Token.is(MIToken::kw_reassoc)) in parseInstruction()
1495 if (Token.is(MIToken::kw_nuw)) in parseInstruction()
1497 if (Token.is(MIToken::kw_nsw)) in parseInstruction()
1499 if (Token.is(MIToken::kw_exact)) in parseInstruction()
1501 if (Token.is(MIToken::kw_nofpexcept)) in parseInstruction()
1503 if (Token.is(MIToken::kw_unpredictable)) in parseInstruction()
1505 if (Token.is(MIToken::kw_noconvergent)) in parseInstruction()
1510 if (Token.isNot(MIToken::Identifier)) in parseInstruction()
1520 assert(Token.is(MIToken::NamedRegister) && "Needs NamedRegister token"); in parseNamedRegister()
1528 assert(Token.is(MIToken::NamedVirtualRegister) && "Expected NamedVReg token"); in parseNamedVirtualRegister()
1537 if (Token.is(MIToken::NamedVirtualRegister)) in parseVirtualRegister()
1539 assert(Token.is(MIToken::VirtualRegister) && "Needs VirtualRegister token"); in parseVirtualRegister()
1549 case MIToken::underscore: in parseRegister()
1552 case MIToken::NamedRegister: in parseRegister()
1554 case MIToken::NamedVirtualRegister: in parseRegister()
1555 case MIToken::VirtualRegister: in parseRegister()
1567 if (Token.isNot(MIToken::Identifier) && Token.isNot(MIToken::underscore)) in parseRegisterClassOrBank()
1627 case MIToken::kw_implicit: in parseRegisterFlag()
1630 case MIToken::kw_implicit_define: in parseRegisterFlag()
1633 case MIToken::kw_def: in parseRegisterFlag()
1636 case MIToken::kw_dead: in parseRegisterFlag()
1639 case MIToken::kw_killed: in parseRegisterFlag()
1642 case MIToken::kw_undef: in parseRegisterFlag()
1645 case MIToken::kw_internal: in parseRegisterFlag()
1648 case MIToken::kw_early_clobber: in parseRegisterFlag()
1651 case MIToken::kw_debug_use: in parseRegisterFlag()
1654 case MIToken::kw_renamable: in parseRegisterFlag()
1669 assert(Token.is(MIToken::dot)); in parseSubRegisterIndex()
1671 if (Token.isNot(MIToken::Identifier)) in parseSubRegisterIndex()
1682 if (!consumeIfPresent(MIToken::kw_tied_def)) in parseRegisterTiedDefIndex()
1684 if (Token.isNot(MIToken::IntegerLiteral)) in parseRegisterTiedDefIndex()
1689 if (expectAndConsume(MIToken::rparen)) in parseRegisterTiedDefIndex()
1747 if (Token.is(MIToken::dot)) { in parseRegisterOperand()
1753 if (Token.is(MIToken::colon)) { in parseRegisterOperand()
1762 if (consumeIfPresent(MIToken::lparen)) { in parseRegisterOperand()
1772 if (expectAndConsume(MIToken::rparen)) in parseRegisterOperand()
1782 } else if (consumeIfPresent(MIToken::lparen)) { in parseRegisterOperand()
1791 if (expectAndConsume(MIToken::rparen)) in parseRegisterOperand()
1826 assert(Token.is(MIToken::IntegerLiteral)); in parseImmediateOperand()
1842 assert(Token.is(MIToken::dot)); in parseTargetImmMnemonic()
1848 if (Token.is(MIToken::IntegerLiteral)) { in parseTargetImmMnemonic()
1854 if (Token.is(MIToken::comma)) in parseTargetImmMnemonic()
1857 assert(Token.is(MIToken::Identifier)); in parseTargetImmMnemonic()
1867 if (!Token.is(MIToken::comma)) in parseTargetImmMnemonic()
1940 if (Token.isNot(MIToken::less)) in parseLowLevelType()
1946 Token.is(MIToken::Identifier) && Token.stringValue() == "vscale"; in parseLowLevelType()
1949 if (Token.isNot(MIToken::Identifier) || Token.stringValue() != "x") in parseLowLevelType()
1961 if (Token.isNot(MIToken::IntegerLiteral)) in parseLowLevelType()
1969 if (Token.isNot(MIToken::Identifier) || Token.stringValue() != "x") in parseLowLevelType()
1996 if (Token.isNot(MIToken::greater)) in parseLowLevelType()
2006 assert(Token.is(MIToken::Identifier)); in parseTypedImmediateOperand()
2018 if (Token.isNot(MIToken::IntegerLiteral)) { in parseTypedImmediateOperand()
2019 if (Token.isNot(MIToken::Identifier) || in parseTypedImmediateOperand()
2033 if (Token.isNot(MIToken::FloatingPointLiteral) && in parseFPImmediateOperand()
2034 Token.isNot(MIToken::HexLiteral)) in parseFPImmediateOperand()
2043 static bool getHexUint(const MIToken &Token, APInt &Result) { in getHexUint()
2044 assert(Token.is(MIToken::HexLiteral)); in getHexUint()
2060 static bool getUnsigned(const MIToken &Token, unsigned &Result, in getUnsigned()
2070 if (Token.is(MIToken::HexLiteral)) { in getUnsigned()
2090 assert(Token.is(MIToken::MachineBasicBlock) || in parseMBBReference()
2091 Token.is(MIToken::MachineBasicBlockLabel)); in parseMBBReference()
2118 assert(Token.is(MIToken::StackObject)); in parseStackFrameIndex()
2147 assert(Token.is(MIToken::FixedStackObject)); in parseFixedStackFrameIndex()
2168 static bool parseGlobalValue(const MIToken &Token, in parseGlobalValue()
2172 case MIToken::NamedGlobalValue: { in parseGlobalValue()
2180 case MIToken::GlobalValue: { in parseGlobalValue()
2216 assert(Token.is(MIToken::ConstantPoolItem)); in parseConstantPoolIndexOperand()
2231 assert(Token.is(MIToken::JumpTableIndex)); in parseJumpTableIndexOperand()
2244 assert(Token.is(MIToken::ExternalSymbol)); in parseExternalSymbolOperand()
2254 assert(Token.is(MIToken::MCSymbol)); in parseMCSymbolOperand()
2264 assert(Token.is(MIToken::SubRegisterIndex)); in parseSubRegisterIndexOperand()
2275 assert(Token.is(MIToken::exclaim)); in parseMDNode()
2279 if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned()) in parseMDNode()
2296 assert(Token.is(MIToken::md_diexpr)); in parseDIExpression()
2302 if (expectAndConsume(MIToken::lparen)) in parseDIExpression()
2305 if (Token.isNot(MIToken::rparen)) { in parseDIExpression()
2307 if (Token.is(MIToken::Identifier)) { in parseDIExpression()
2321 if (Token.isNot(MIToken::IntegerLiteral) || in parseDIExpression()
2331 } while (consumeIfPresent(MIToken::comma)); in parseDIExpression()
2334 if (expectAndConsume(MIToken::rparen)) in parseDIExpression()
2342 assert(Token.is(MIToken::md_dilocation)); in parseDILocation()
2352 if (expectAndConsume(MIToken::lparen)) in parseDILocation()
2355 if (Token.isNot(MIToken::rparen)) { in parseDILocation()
2357 if (Token.is(MIToken::Identifier)) { in parseDILocation()
2360 if (expectAndConsume(MIToken::colon)) in parseDILocation()
2362 if (Token.isNot(MIToken::IntegerLiteral) || in parseDILocation()
2372 if (expectAndConsume(MIToken::colon)) in parseDILocation()
2374 if (Token.isNot(MIToken::IntegerLiteral) || in parseDILocation()
2383 if (expectAndConsume(MIToken::colon)) in parseDILocation()
2393 if (expectAndConsume(MIToken::colon)) in parseDILocation()
2395 if (Token.is(MIToken::exclaim)) { in parseDILocation()
2398 } else if (Token.is(MIToken::md_dilocation)) { in parseDILocation()
2409 if (expectAndConsume(MIToken::colon)) in parseDILocation()
2411 if (!Token.is(MIToken::Identifier)) in parseDILocation()
2428 } while (consumeIfPresent(MIToken::comma)); in parseDILocation()
2431 if (expectAndConsume(MIToken::rparen)) in parseDILocation()
2446 if (Token.is(MIToken::exclaim)) { in parseMetadataOperand()
2449 } else if (Token.is(MIToken::md_diexpr)) { in parseMetadataOperand()
2458 if (Token.isNot(MIToken::IntegerLiteral)) in parseCFIOffset()
2468 if (Token.isNot(MIToken::NamedRegister)) in parseCFIRegister()
2484 if (Token.isNot(MIToken::IntegerLiteral)) in parseCFIAddressSpace()
2495 if (Token.isNot(MIToken::HexLiteral)) in parseCFIEscapeValues()
2504 } while (consumeIfPresent(MIToken::comma)); in parseCFIEscapeValues()
2516 case MIToken::kw_cfi_same_value: in parseCFIOperand()
2521 case MIToken::kw_cfi_offset: in parseCFIOperand()
2522 if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) || in parseCFIOperand()
2528 case MIToken::kw_cfi_rel_offset: in parseCFIOperand()
2529 if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) || in parseCFIOperand()
2535 case MIToken::kw_cfi_def_cfa_register: in parseCFIOperand()
2541 case MIToken::kw_cfi_def_cfa_offset: in parseCFIOperand()
2547 case MIToken::kw_cfi_adjust_cfa_offset: in parseCFIOperand()
2553 case MIToken::kw_cfi_def_cfa: in parseCFIOperand()
2554 if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) || in parseCFIOperand()
2560 case MIToken::kw_cfi_llvm_def_aspace_cfa: in parseCFIOperand()
2561 if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) || in parseCFIOperand()
2562 parseCFIOffset(Offset) || expectAndConsume(MIToken::comma) || in parseCFIOperand()
2568 case MIToken::kw_cfi_remember_state: in parseCFIOperand()
2571 case MIToken::kw_cfi_restore: in parseCFIOperand()
2576 case MIToken::kw_cfi_restore_state: in parseCFIOperand()
2579 case MIToken::kw_cfi_undefined: in parseCFIOperand()
2584 case MIToken::kw_cfi_register: { in parseCFIOperand()
2586 if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) || in parseCFIOperand()
2594 case MIToken::kw_cfi_window_save: in parseCFIOperand()
2597 case MIToken::kw_cfi_aarch64_negate_ra_sign_state: in parseCFIOperand()
2600 case MIToken::kw_cfi_escape: { in parseCFIOperand()
2617 case MIToken::NamedIRBlock: { in parseIRBlock()
2624 case MIToken::IRBlock: { in parseIRBlock()
2641 assert(Token.is(MIToken::kw_blockaddress)); in parseBlockAddressOperand()
2643 if (expectAndConsume(MIToken::lparen)) in parseBlockAddressOperand()
2645 if (Token.isNot(MIToken::GlobalValue) && in parseBlockAddressOperand()
2646 Token.isNot(MIToken::NamedGlobalValue)) in parseBlockAddressOperand()
2655 if (expectAndConsume(MIToken::comma)) in parseBlockAddressOperand()
2658 if (Token.isNot(MIToken::IRBlock) && Token.isNot(MIToken::NamedIRBlock)) in parseBlockAddressOperand()
2663 if (expectAndConsume(MIToken::rparen)) in parseBlockAddressOperand()
2672 assert(Token.is(MIToken::kw_intrinsic)); in parseIntrinsicOperand()
2674 if (expectAndConsume(MIToken::lparen)) in parseIntrinsicOperand()
2677 if (Token.isNot(MIToken::NamedGlobalValue)) in parseIntrinsicOperand()
2683 if (expectAndConsume(MIToken::rparen)) in parseIntrinsicOperand()
2701 assert(Token.is(MIToken::kw_intpred) || Token.is(MIToken::kw_floatpred)); in parsePredicateOperand()
2702 bool IsFloat = Token.is(MIToken::kw_floatpred); in parsePredicateOperand()
2705 if (expectAndConsume(MIToken::lparen)) in parsePredicateOperand()
2708 if (Token.isNot(MIToken::Identifier)) in parsePredicateOperand()
2752 if (expectAndConsume(MIToken::rparen)) in parsePredicateOperand()
2759 assert(Token.is(MIToken::kw_shufflemask)); in parseShuffleMaskOperand()
2762 if (expectAndConsume(MIToken::lparen)) in parseShuffleMaskOperand()
2767 if (Token.is(MIToken::kw_undef)) { in parseShuffleMaskOperand()
2769 } else if (Token.is(MIToken::IntegerLiteral)) { in parseShuffleMaskOperand()
2776 } while (consumeIfPresent(MIToken::comma)); in parseShuffleMaskOperand()
2778 if (expectAndConsume(MIToken::rparen)) in parseShuffleMaskOperand()
2787 assert(Token.is(MIToken::kw_dbg_instr_ref)); in parseDbgInstrRefOperand()
2790 if (expectAndConsume(MIToken::lparen)) in parseDbgInstrRefOperand()
2793 if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isNegative()) in parseDbgInstrRefOperand()
2800 if (expectAndConsume(MIToken::comma)) in parseDbgInstrRefOperand()
2803 if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isNegative()) in parseDbgInstrRefOperand()
2810 if (expectAndConsume(MIToken::rparen)) in parseDbgInstrRefOperand()
2818 assert(Token.is(MIToken::kw_target_index)); in parseTargetIndexOperand()
2820 if (expectAndConsume(MIToken::lparen)) in parseTargetIndexOperand()
2822 if (Token.isNot(MIToken::Identifier)) in parseTargetIndexOperand()
2828 if (expectAndConsume(MIToken::rparen)) in parseTargetIndexOperand()
2839 if (expectAndConsume(MIToken::lparen)) in parseCustomRegisterMaskOperand()
2844 if (Token.isNot(MIToken::rparen)) { in parseCustomRegisterMaskOperand()
2845 if (Token.isNot(MIToken::NamedRegister)) in parseCustomRegisterMaskOperand()
2855 } while (consumeIfPresent(MIToken::comma)); in parseCustomRegisterMaskOperand()
2857 if (expectAndConsume(MIToken::rparen)) in parseCustomRegisterMaskOperand()
2864 assert(Token.is(MIToken::kw_liveout)); in parseLiveoutRegisterMaskOperand()
2867 if (expectAndConsume(MIToken::lparen)) in parseLiveoutRegisterMaskOperand()
2870 if (Token.isNot(MIToken::NamedRegister)) in parseLiveoutRegisterMaskOperand()
2878 if (Token.isNot(MIToken::comma)) in parseLiveoutRegisterMaskOperand()
2882 if (expectAndConsume(MIToken::rparen)) in parseLiveoutRegisterMaskOperand()
2892 case MIToken::kw_implicit: in parseMachineOperand()
2893 case MIToken::kw_implicit_define: in parseMachineOperand()
2894 case MIToken::kw_def: in parseMachineOperand()
2895 case MIToken::kw_dead: in parseMachineOperand()
2896 case MIToken::kw_killed: in parseMachineOperand()
2897 case MIToken::kw_undef: in parseMachineOperand()
2898 case MIToken::kw_internal: in parseMachineOperand()
2899 case MIToken::kw_early_clobber: in parseMachineOperand()
2900 case MIToken::kw_debug_use: in parseMachineOperand()
2901 case MIToken::kw_renamable: in parseMachineOperand()
2902 case MIToken::underscore: in parseMachineOperand()
2903 case MIToken::NamedRegister: in parseMachineOperand()
2904 case MIToken::VirtualRegister: in parseMachineOperand()
2905 case MIToken::NamedVirtualRegister: in parseMachineOperand()
2907 case MIToken::IntegerLiteral: in parseMachineOperand()
2909 case MIToken::kw_half: in parseMachineOperand()
2910 case MIToken::kw_float: in parseMachineOperand()
2911 case MIToken::kw_double: in parseMachineOperand()
2912 case MIToken::kw_x86_fp80: in parseMachineOperand()
2913 case MIToken::kw_fp128: in parseMachineOperand()
2914 case MIToken::kw_ppc_fp128: in parseMachineOperand()
2916 case MIToken::MachineBasicBlock: in parseMachineOperand()
2918 case MIToken::StackObject: in parseMachineOperand()
2920 case MIToken::FixedStackObject: in parseMachineOperand()
2922 case MIToken::GlobalValue: in parseMachineOperand()
2923 case MIToken::NamedGlobalValue: in parseMachineOperand()
2925 case MIToken::ConstantPoolItem: in parseMachineOperand()
2927 case MIToken::JumpTableIndex: in parseMachineOperand()
2929 case MIToken::ExternalSymbol: in parseMachineOperand()
2931 case MIToken::MCSymbol: in parseMachineOperand()
2933 case MIToken::SubRegisterIndex: in parseMachineOperand()
2935 case MIToken::md_diexpr: in parseMachineOperand()
2936 case MIToken::exclaim: in parseMachineOperand()
2938 case MIToken::kw_cfi_same_value: in parseMachineOperand()
2939 case MIToken::kw_cfi_offset: in parseMachineOperand()
2940 case MIToken::kw_cfi_rel_offset: in parseMachineOperand()
2941 case MIToken::kw_cfi_def_cfa_register: in parseMachineOperand()
2942 case MIToken::kw_cfi_def_cfa_offset: in parseMachineOperand()
2943 case MIToken::kw_cfi_adjust_cfa_offset: in parseMachineOperand()
2944 case MIToken::kw_cfi_escape: in parseMachineOperand()
2945 case MIToken::kw_cfi_def_cfa: in parseMachineOperand()
2946 case MIToken::kw_cfi_llvm_def_aspace_cfa: in parseMachineOperand()
2947 case MIToken::kw_cfi_register: in parseMachineOperand()
2948 case MIToken::kw_cfi_remember_state: in parseMachineOperand()
2949 case MIToken::kw_cfi_restore: in parseMachineOperand()
2950 case MIToken::kw_cfi_restore_state: in parseMachineOperand()
2951 case MIToken::kw_cfi_undefined: in parseMachineOperand()
2952 case MIToken::kw_cfi_window_save: in parseMachineOperand()
2953 case MIToken::kw_cfi_aarch64_negate_ra_sign_state: in parseMachineOperand()
2955 case MIToken::kw_blockaddress: in parseMachineOperand()
2957 case MIToken::kw_intrinsic: in parseMachineOperand()
2959 case MIToken::kw_target_index: in parseMachineOperand()
2961 case MIToken::kw_liveout: in parseMachineOperand()
2963 case MIToken::kw_floatpred: in parseMachineOperand()
2964 case MIToken::kw_intpred: in parseMachineOperand()
2966 case MIToken::kw_shufflemask: in parseMachineOperand()
2968 case MIToken::kw_dbg_instr_ref: in parseMachineOperand()
2970 case MIToken::Error: in parseMachineOperand()
2972 case MIToken::Identifier: in parseMachineOperand()
2981 case MIToken::dot: { in parseMachineOperand()
3000 if (Token.is(MIToken::kw_target_flags)) { in parseMachineOperandAndTargetFlags()
3003 if (expectAndConsume(MIToken::lparen)) in parseMachineOperandAndTargetFlags()
3005 if (Token.isNot(MIToken::Identifier)) in parseMachineOperandAndTargetFlags()
3013 while (Token.is(MIToken::comma)) { in parseMachineOperandAndTargetFlags()
3015 if (Token.isNot(MIToken::Identifier)) in parseMachineOperandAndTargetFlags()
3025 if (expectAndConsume(MIToken::rparen)) in parseMachineOperandAndTargetFlags()
3040 if (Token.isNot(MIToken::plus) && Token.isNot(MIToken::minus)) in parseOffset()
3043 bool IsNegative = Token.is(MIToken::minus); in parseOffset()
3045 if (Token.isNot(MIToken::IntegerLiteral)) in parseOffset()
3057 assert(Token.is(MIToken::kw_ir_block_address_taken)); in parseIRBlockAddressTaken()
3059 if (Token.isNot(MIToken::IRBlock) && Token.isNot(MIToken::NamedIRBlock)) in parseIRBlockAddressTaken()
3070 assert(Token.is(MIToken::kw_align) || Token.is(MIToken::kw_basealign)); in parseAlignment()
3072 if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned()) in parseAlignment()
3085 assert(Token.is(MIToken::kw_addrspace)); in parseAddrspace()
3087 if (Token.isNot(MIToken::IntegerLiteral) || Token.integerValue().isSigned()) in parseAddrspace()
3103 static bool parseIRValue(const MIToken &Token, PerFunctionMIParsingState &PFS, in parseIRValue()
3106 case MIToken::NamedIRValue: { in parseIRValue()
3110 case MIToken::IRValue: { in parseIRValue()
3117 case MIToken::NamedGlobalValue: in parseIRValue()
3118 case MIToken::GlobalValue: { in parseIRValue()
3125 case MIToken::QuotedIRValue: { in parseIRValue()
3132 case MIToken::kw_unknown_address: in parseIRValue()
3157 if (Token.is(MIToken::HexLiteral)) { in getUint64()
3176 case MIToken::kw_volatile: in parseMemoryOperandFlag()
3179 case MIToken::kw_non_temporal: in parseMemoryOperandFlag()
3182 case MIToken::kw_dereferenceable: in parseMemoryOperandFlag()
3185 case MIToken::kw_invariant: in parseMemoryOperandFlag()
3188 case MIToken::StringConstant: { in parseMemoryOperandFlag()
3209 case MIToken::kw_stack: in parseMemoryPseudoSourceValue()
3212 case MIToken::kw_got: in parseMemoryPseudoSourceValue()
3215 case MIToken::kw_jump_table: in parseMemoryPseudoSourceValue()
3218 case MIToken::kw_constant_pool: in parseMemoryPseudoSourceValue()
3221 case MIToken::FixedStackObject: { in parseMemoryPseudoSourceValue()
3229 case MIToken::StackObject: { in parseMemoryPseudoSourceValue()
3237 case MIToken::kw_call_entry: in parseMemoryPseudoSourceValue()
3240 case MIToken::GlobalValue: in parseMemoryPseudoSourceValue()
3241 case MIToken::NamedGlobalValue: { in parseMemoryPseudoSourceValue()
3248 case MIToken::ExternalSymbol: in parseMemoryPseudoSourceValue()
3257 case MIToken::kw_custom: { in parseMemoryPseudoSourceValue()
3279 if (Token.is(MIToken::kw_constant_pool) || Token.is(MIToken::kw_stack) || in parseMachinePointerInfo()
3280 Token.is(MIToken::kw_got) || Token.is(MIToken::kw_jump_table) || in parseMachinePointerInfo()
3281 Token.is(MIToken::FixedStackObject) || Token.is(MIToken::StackObject) || in parseMachinePointerInfo()
3282 Token.is(MIToken::kw_call_entry) || Token.is(MIToken::kw_custom)) { in parseMachinePointerInfo()
3292 if (Token.isNot(MIToken::NamedIRValue) && Token.isNot(MIToken::IRValue) && in parseMachinePointerInfo()
3293 Token.isNot(MIToken::GlobalValue) && in parseMachinePointerInfo()
3294 Token.isNot(MIToken::NamedGlobalValue) && in parseMachinePointerInfo()
3295 Token.isNot(MIToken::QuotedIRValue) && in parseMachinePointerInfo()
3296 Token.isNot(MIToken::kw_unknown_address)) in parseMachinePointerInfo()
3314 if (Token.is(MIToken::Identifier) && Token.stringValue() == "syncscope") { in parseOptionalScope()
3316 if (expectAndConsume(MIToken::lparen)) in parseOptionalScope()
3324 if (expectAndConsume(MIToken::rparen)) in parseOptionalScope()
3333 if (Token.isNot(MIToken::Identifier)) in parseOptionalAtomicOrdering()
3354 if (expectAndConsume(MIToken::lparen)) in parseMachineMemoryOperand()
3361 if (Token.isNot(MIToken::Identifier) || in parseMachineMemoryOperand()
3371 if (Token.is(MIToken::Identifier) && Token.stringValue() == "store") { in parseMachineMemoryOperand()
3390 if (Token.isNot(MIToken::IntegerLiteral) && in parseMachineMemoryOperand()
3391 Token.isNot(MIToken::kw_unknown_size) && in parseMachineMemoryOperand()
3392 Token.isNot(MIToken::lparen)) in parseMachineMemoryOperand()
3397 if (Token.is(MIToken::IntegerLiteral)) { in parseMachineMemoryOperand()
3404 } else if (Token.is(MIToken::kw_unknown_size)) { in parseMachineMemoryOperand()
3408 if (expectAndConsume(MIToken::lparen)) in parseMachineMemoryOperand()
3412 if (expectAndConsume(MIToken::rparen)) in parseMachineMemoryOperand()
3419 if (Token.is(MIToken::Identifier)) { in parseMachineMemoryOperand()
3436 while (consumeIfPresent(MIToken::comma)) { in parseMachineMemoryOperand()
3438 case MIToken::kw_align: { in parseMachineMemoryOperand()
3453 case MIToken::kw_basealign: in parseMachineMemoryOperand()
3458 case MIToken::kw_addrspace: in parseMachineMemoryOperand()
3462 case MIToken::md_tbaa: in parseMachineMemoryOperand()
3467 case MIToken::md_alias_scope: in parseMachineMemoryOperand()
3472 case MIToken::md_noalias: in parseMachineMemoryOperand()
3477 case MIToken::md_range: in parseMachineMemoryOperand()
3488 if (expectAndConsume(MIToken::rparen)) in parseMachineMemoryOperand()
3496 assert((Token.is(MIToken::kw_pre_instr_symbol) || in parsePreOrPostInstrSymbol()
3497 Token.is(MIToken::kw_post_instr_symbol)) && in parsePreOrPostInstrSymbol()
3500 if (Token.isNot(MIToken::MCSymbol)) in parsePreOrPostInstrSymbol()
3504 if (Token.isNewlineOrEOF() || Token.is(MIToken::coloncolon) || in parsePreOrPostInstrSymbol()
3505 Token.is(MIToken::lbrace)) in parsePreOrPostInstrSymbol()
3507 if (Token.isNot(MIToken::comma)) in parsePreOrPostInstrSymbol()
3514 assert(Token.is(MIToken::kw_heap_alloc_marker) && in parseHeapAllocMarker()
3521 if (Token.isNewlineOrEOF() || Token.is(MIToken::coloncolon) || in parseHeapAllocMarker()
3522 Token.is(MIToken::lbrace)) in parseHeapAllocMarker()
3524 if (Token.isNot(MIToken::comma)) in parseHeapAllocMarker()
3531 assert(Token.is(MIToken::kw_pcsections) && in parsePCSections()
3538 if (Token.isNewlineOrEOF() || Token.is(MIToken::coloncolon) || in parsePCSections()
3539 Token.is(MIToken::lbrace)) in parsePCSections()
3541 if (Token.isNot(MIToken::comma)) in parsePCSections()
3592 if (Token.isNot(MIToken::StringConstant)) in parseStringConstant()
3653 MIToken Token; in parseIRValue()