Lines Matching refs:Operand
1226 std::pair<const Instruction::Operand *, int64_t>
1227 GetBaseExplainingValue(const Instruction::Operand &operand, in GetBaseExplainingValue()
1230 case Instruction::Operand::Type::Dereference: in GetBaseExplainingValue()
1231 case Instruction::Operand::Type::Immediate: in GetBaseExplainingValue()
1232 case Instruction::Operand::Type::Invalid: in GetBaseExplainingValue()
1233 case Instruction::Operand::Type::Product: in GetBaseExplainingValue()
1236 case Instruction::Operand::Type::Sum: { in GetBaseExplainingValue()
1237 const Instruction::Operand *immediate_child = nullptr; in GetBaseExplainingValue()
1238 const Instruction::Operand *variable_child = nullptr; in GetBaseExplainingValue()
1239 if (operand.m_children[0].m_type == Instruction::Operand::Type::Immediate) { in GetBaseExplainingValue()
1243 Instruction::Operand::Type::Immediate) { in GetBaseExplainingValue()
1256 std::pair<const Instruction::Operand *, int64_t> base_and_offset = in GetBaseExplainingValue()
1269 case Instruction::Operand::Type::Register: { in GetBaseExplainingValue()
1289 std::pair<const Instruction::Operand *, int64_t>
1290 GetBaseExplainingDereference(const Instruction::Operand &operand, in GetBaseExplainingDereference()
1293 if (operand.m_type == Instruction::Operand::Type::Dereference) { in GetBaseExplainingDereference()
1325 llvm::SmallVector<Instruction::Operand, 3> operands; in GuessValueForAddress()
1337 for (const Instruction::Operand &operand : operands) { in GuessValueForAddress()
1338 std::pair<const Instruction::Operand *, int64_t> base_and_offset = in GuessValueForAddress()
1346 case Instruction::Operand::Type::Immediate: { in GuessValueForAddress()
1369 case Instruction::Operand::Type::Register: { in GuessValueForAddress()
1507 Instruction::Operand op = in DoGuessValueAt()
1508 offset ? Instruction::Operand::BuildDereference( in DoGuessValueAt()
1509 Instruction::Operand::BuildSum( in DoGuessValueAt()
1510 Instruction::Operand::BuildRegister(reg), in DoGuessValueAt()
1511 Instruction::Operand::BuildImmediate(offset))) in DoGuessValueAt()
1512 : Instruction::Operand::BuildDereference( in DoGuessValueAt()
1513 Instruction::Operand::BuildRegister(reg)); in DoGuessValueAt()
1554 if (!MatchUnaryOp(MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1557 MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1558 MatchBinaryOp(MatchOpType(Instruction::Operand::Type::Sum), in DoGuessValueAt()
1564 llvm::SmallVector<Instruction::Operand, 1> operands; in DoGuessValueAt()
1572 case Instruction::Operand::Type::Immediate: { in DoGuessValueAt()
1607 llvm::SmallVector<Instruction::Operand, 2> operands; in DoGuessValueAt()
1612 Instruction::Operand *origin_operand = nullptr; in DoGuessValueAt()
1613 auto clobbered_reg_matcher = [reg_info](const Instruction::Operand &op) { in DoGuessValueAt()
1636 MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1639 MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1640 MatchBinaryOp(MatchOpType(Instruction::Operand::Type::Sum), in DoGuessValueAt()