Lines Matching refs:BO
143 auto *BO = dyn_cast<BinaryOperator>(Start); in matchStridedStart() local
144 if (!BO || BO->getOpcode() != Instruction::Add) in matchStridedStart()
149 Value *Splat = getSplatValue(BO->getOperand(0)); in matchStridedStart()
151 Splat = getSplatValue(BO->getOperand(1)); in matchStridedStart()
158 std::tie(Start, Stride) = matchStridedStart(BO->getOperand(OtherIndex), in matchStridedStart()
164 Builder.SetInsertPoint(BO); in matchStridedStart()
223 auto *BO = dyn_cast<BinaryOperator>(Index); in matchStridedRecurrence() local
224 if (!BO) in matchStridedRecurrence()
227 if (BO->getOpcode() != Instruction::Add && in matchStridedRecurrence()
228 BO->getOpcode() != Instruction::Or && in matchStridedRecurrence()
229 BO->getOpcode() != Instruction::Mul && in matchStridedRecurrence()
230 BO->getOpcode() != Instruction::Shl) in matchStridedRecurrence()
234 if (BO->getOpcode() == Instruction::Shl && !isa<Constant>(BO->getOperand(1))) in matchStridedRecurrence()
238 if (BO->getOpcode() == Instruction::Or && in matchStridedRecurrence()
239 !haveNoCommonBitsSet(BO->getOperand(0), BO->getOperand(1), *DL)) in matchStridedRecurrence()
244 if (isa<Instruction>(BO->getOperand(0)) && in matchStridedRecurrence()
245 L->contains(cast<Instruction>(BO->getOperand(0)))) { in matchStridedRecurrence()
246 Index = cast<Instruction>(BO->getOperand(0)); in matchStridedRecurrence()
247 OtherOp = BO->getOperand(1); in matchStridedRecurrence()
248 } else if (isa<Instruction>(BO->getOperand(1)) && in matchStridedRecurrence()
249 L->contains(cast<Instruction>(BO->getOperand(1)))) { in matchStridedRecurrence()
250 Index = cast<Instruction>(BO->getOperand(1)); in matchStridedRecurrence()
251 OtherOp = BO->getOperand(0); in matchStridedRecurrence()
280 switch (BO->getOpcode()) { in matchStridedRecurrence()