Lines Matching defs:BinaryOp
5241 struct BinaryOp {
5248 /// Op is set if this BinaryOp corresponds to a concrete LLVM instruction or
5252 explicit BinaryOp(Operator *Op)
5261 explicit BinaryOp(unsigned Opcode, Value *LHS, Value *RHS, bool IsNSW = false,
5268 /// Try to map \p V into a BinaryOp, and return \c std::nullopt on failure.
5269 static std::optional<BinaryOp> MatchBinaryOp(Value *V, const DataLayout &DL,
5290 return BinaryOp(Op);
5295 return BinaryOp(Instruction::Add, Op->getOperand(0), Op->getOperand(1),
5297 return BinaryOp(Op);
5305 return BinaryOp(Instruction::Add, Op->getOperand(0), Op->getOperand(1));
5308 return BinaryOp(Instruction::Add, Op->getOperand(0), Op->getOperand(1));
5309 return BinaryOp(Op);
5324 return BinaryOp(Instruction::UDiv, Op->getOperand(0), X);
5327 return BinaryOp(Op);
5342 return BinaryOp(BinOp, WO->getLHS(), WO->getRHS());
5347 return BinaryOp(BinOp, WO->getLHS(), WO->getRHS(),
5359 return BinaryOp(Instruction::Sub, II->getOperand(0), II->getOperand(1));