Lines Matching defs:BinaryOp
5219 struct BinaryOp {
5226 /// Op is set if this BinaryOp corresponds to a concrete LLVM instruction or
5230 explicit BinaryOp(Operator *Op)
5239 explicit BinaryOp(unsigned Opcode, Value *LHS, Value *RHS, bool IsNSW = false,
5246 /// Try to map \p V into a BinaryOp, and return \c std::nullopt on failure.
5247 static std::optional<BinaryOp> MatchBinaryOp(Value *V, const DataLayout &DL,
5268 return BinaryOp(Op);
5273 return BinaryOp(Instruction::Add, Op->getOperand(0), Op->getOperand(1),
5275 return BinaryOp(Op);
5283 return BinaryOp(Instruction::Add, Op->getOperand(0), Op->getOperand(1));
5286 return BinaryOp(Instruction::Add, Op->getOperand(0), Op->getOperand(1));
5287 return BinaryOp(Op);
5302 return BinaryOp(Instruction::UDiv, Op->getOperand(0), X);
5305 return BinaryOp(Op);
5320 return BinaryOp(BinOp, WO->getLHS(), WO->getRHS());
5325 return BinaryOp(BinOp, WO->getLHS(), WO->getRHS(),
5337 return BinaryOp(Instruction::Sub, II->getOperand(0), II->getOperand(1));