Lines Matching refs:Operand
1211 std::pair<const Instruction::Operand *, int64_t>
1212 GetBaseExplainingValue(const Instruction::Operand &operand, in GetBaseExplainingValue()
1215 case Instruction::Operand::Type::Dereference: in GetBaseExplainingValue()
1216 case Instruction::Operand::Type::Immediate: in GetBaseExplainingValue()
1217 case Instruction::Operand::Type::Invalid: in GetBaseExplainingValue()
1218 case Instruction::Operand::Type::Product: in GetBaseExplainingValue()
1221 case Instruction::Operand::Type::Sum: { in GetBaseExplainingValue()
1222 const Instruction::Operand *immediate_child = nullptr; in GetBaseExplainingValue()
1223 const Instruction::Operand *variable_child = nullptr; in GetBaseExplainingValue()
1224 if (operand.m_children[0].m_type == Instruction::Operand::Type::Immediate) { in GetBaseExplainingValue()
1228 Instruction::Operand::Type::Immediate) { in GetBaseExplainingValue()
1241 std::pair<const Instruction::Operand *, int64_t> base_and_offset = in GetBaseExplainingValue()
1254 case Instruction::Operand::Type::Register: { in GetBaseExplainingValue()
1274 std::pair<const Instruction::Operand *, int64_t>
1275 GetBaseExplainingDereference(const Instruction::Operand &operand, in GetBaseExplainingDereference()
1278 if (operand.m_type == Instruction::Operand::Type::Dereference) { in GetBaseExplainingDereference()
1310 llvm::SmallVector<Instruction::Operand, 3> operands; in GuessValueForAddress()
1322 for (const Instruction::Operand &operand : operands) { in GuessValueForAddress()
1323 std::pair<const Instruction::Operand *, int64_t> base_and_offset = in GuessValueForAddress()
1331 case Instruction::Operand::Type::Immediate: { in GuessValueForAddress()
1355 case Instruction::Operand::Type::Register: { in GuessValueForAddress()
1493 Instruction::Operand op = in DoGuessValueAt()
1494 offset ? Instruction::Operand::BuildDereference( in DoGuessValueAt()
1495 Instruction::Operand::BuildSum( in DoGuessValueAt()
1496 Instruction::Operand::BuildRegister(reg), in DoGuessValueAt()
1497 Instruction::Operand::BuildImmediate(offset))) in DoGuessValueAt()
1498 : Instruction::Operand::BuildDereference( in DoGuessValueAt()
1499 Instruction::Operand::BuildRegister(reg)); in DoGuessValueAt()
1540 if (!MatchUnaryOp(MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1543 MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1544 MatchBinaryOp(MatchOpType(Instruction::Operand::Type::Sum), in DoGuessValueAt()
1550 llvm::SmallVector<Instruction::Operand, 1> operands; in DoGuessValueAt()
1558 case Instruction::Operand::Type::Immediate: { in DoGuessValueAt()
1593 llvm::SmallVector<Instruction::Operand, 2> operands; in DoGuessValueAt()
1598 Instruction::Operand *origin_operand = nullptr; in DoGuessValueAt()
1599 auto clobbered_reg_matcher = [reg_info](const Instruction::Operand &op) { in DoGuessValueAt()
1622 MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1625 MatchOpType(Instruction::Operand::Type::Dereference), in DoGuessValueAt()
1626 MatchBinaryOp(MatchOpType(Instruction::Operand::Type::Sum), in DoGuessValueAt()