Lines Matching refs:LanaiOperand
28 struct LanaiOperand;
32 std::unique_ptr<LanaiOperand> parseRegister();
34 std::unique_ptr<LanaiOperand> parseImmediate();
36 std::unique_ptr<LanaiOperand> parseIdentifier();
88 struct LanaiOperand : public MCParsedAsmOperand { struct
127 explicit LanaiOperand(KindTy Kind) : MCParsedAsmOperand(), Kind(Kind) {} in LanaiOperand() function
567 static std::unique_ptr<LanaiOperand> CreateToken(StringRef Str, SMLoc Start) { in CreateToken() argument
568 auto Op = make_unique<LanaiOperand>(TOKEN); in CreateToken()
576 static std::unique_ptr<LanaiOperand> createReg(unsigned RegNum, SMLoc Start, in createReg() argument
578 auto Op = make_unique<LanaiOperand>(REGISTER); in createReg()
585 static std::unique_ptr<LanaiOperand> createImm(const MCExpr *Value, in createImm() argument
587 auto Op = make_unique<LanaiOperand>(IMMEDIATE); in createImm()
594 static std::unique_ptr<LanaiOperand>
595 MorphToMemImm(std::unique_ptr<LanaiOperand> Op) { in MorphToMemImm() argument
605 static std::unique_ptr<LanaiOperand>
606 MorphToMemRegReg(unsigned BaseReg, std::unique_ptr<LanaiOperand> Op, in MorphToMemRegReg() argument
617 static std::unique_ptr<LanaiOperand>
618 MorphToMemRegImm(unsigned BaseReg, std::unique_ptr<LanaiOperand> Op, in MorphToMemRegImm() argument
654 ErrorLoc = ((LanaiOperand &)*Operands[ErrorInfo]).getStartLoc(); in MatchAndEmitInstruction()
671 std::unique_ptr<LanaiOperand> LanaiAsmParser::parseRegister() { in parseRegister()
684 return LanaiOperand::createReg(RegNum, Start, End); in parseRegister()
691 std::unique_ptr<LanaiOperand> Op = parseRegister(); in ParseRegister()
697 std::unique_ptr<LanaiOperand> LanaiAsmParser::parseIdentifier() { in parseIdentifier()
752 return LanaiOperand::createImm(Res, Start, End); in parseIdentifier()
755 std::unique_ptr<LanaiOperand> LanaiAsmParser::parseImmediate() { in parseImmediate()
768 return LanaiOperand::createImm(ExprVal, Start, End); in parseImmediate()
819 bool shouldBeSls(const LanaiOperand &Op) { in shouldBeSls()
858 Type = static_cast<LanaiOperand *>(Operands[0].get())->getToken(); in parseMemoryOperand()
867 std::unique_ptr<LanaiOperand> Op = parseRegister(); in parseMemoryOperand()
884 std::unique_ptr<LanaiOperand> Offset = nullptr; in parseMemoryOperand()
900 Operands.push_back(LanaiOperand::MorphToMemImm(std::move(Op))); in parseMemoryOperand()
908 Operands.push_back(LanaiOperand::MorphToMemRegImm( in parseMemoryOperand()
934 Offset = LanaiOperand::createImm(OffsetConstExpr, Start, End); in parseMemoryOperand()
968 ? LanaiOperand::MorphToMemRegImm(BaseReg, std::move(Offset), AluOp) in parseMemoryOperand()
969 : LanaiOperand::MorphToMemRegReg(BaseReg, std::move(Offset), AluOp)); in parseMemoryOperand()
991 std::unique_ptr<LanaiOperand> Op = parseRegister(); in parseOperand()
1034 Operands->push_back(LanaiOperand::CreateToken(Mnemonic, NameLoc)); in splitMnemonic()
1035 Operands->push_back(LanaiOperand::createImm( in splitMnemonic()
1038 Operands->push_back(LanaiOperand::CreateToken(".r", NameLoc)); in splitMnemonic()
1063 Operands->push_back(LanaiOperand::CreateToken(Mnemonic, NameLoc)); in splitMnemonic()
1064 Operands->push_back(LanaiOperand::createImm( in splitMnemonic()
1070 Operands->push_back(LanaiOperand::CreateToken(Mnemonic, NameLoc)); in splitMnemonic()
1072 Operands->push_back(LanaiOperand::CreateToken(".r", NameLoc)); in splitMnemonic()
1103 if (LanaiOperand *PossibleAluOp = in IsMemoryAssignmentError()
1104 static_cast<LanaiOperand *>(Operands[PossibleAluOpIdx].get())) in IsMemoryAssignmentError()
1116 return static_cast<const LanaiOperand &>(op).isReg(); in IsRegister()
1124 static_cast<const LanaiOperand &>(*Operands[0]).getToken()) in MaybePredicatedInst()
1155 Operands.insert(Operands.begin(), LanaiOperand::CreateToken("s", NameLoc)); in ParseInstruction()
1157 LanaiOperand::createImm( in ParseInstruction()
1168 Operands.insert(Operands.begin(), LanaiOperand::CreateToken("bt", NameLoc)); in ParseInstruction()
1192 LanaiOperand::createImm( in ParseInstruction()