Lines Matching defs:BO
164 auto *BO = dyn_cast<BinaryOperator>(V);
165 if (BO && BO->hasOneUse() && BO->getOpcode() == Opcode)
166 if (!isa<FPMathOperator>(BO) || hasFPAssociativeFlags(BO))
167 return BO;
173 auto *BO = dyn_cast<BinaryOperator>(V);
174 if (BO && BO->hasOneUse() &&
175 (BO->getOpcode() == Opcode1 || BO->getOpcode() == Opcode2))
176 if (!isa<FPMathOperator>(BO) || hasFPAssociativeFlags(BO))
177 return BO;
444 if (BinaryOperator *BO = isReassociableOp(Op, Opcode)) {
447 Worklist.push_back(std::make_pair(BO, Weight));
636 BinaryOperator *BO = isReassociableOp(OldLHS, Opcode);
637 if (BO && !NotRewritable.count(BO))
638 NodesToRewrite.push_back(BO);
642 BinaryOperator *BO = isReassociableOp(OldRHS, Opcode);
643 if (BO && !NotRewritable.count(BO))
644 NodesToRewrite.push_back(BO);
669 BinaryOperator *BO = isReassociableOp(Op->getOperand(1), Opcode);
670 if (BO && !NotRewritable.count(BO))
671 NodesToRewrite.push_back(BO);
685 BinaryOperator *BO = isReassociableOp(Op->getOperand(0), Opcode);
686 if (BO && !NotRewritable.count(BO)) {
687 Op = BO;
765 for (BinaryOperator *BO : NodesToRewrite)
766 RedoInsts.insert(BO);
1103 BinaryOperator *BO = isReassociableOp(V, Instruction::Mul, Instruction::FMul);
1104 if (!BO)
1109 MadeChange |= LinearizeExprTree(BO, Tree, RedoInsts, Flags);
1150 RewriteExprTree(BO, Factors, Flags);
1154 BasicBlock::iterator InsertPt = ++BO->getIterator();
1159 RedoInsts.insert(BO);
1162 RewriteExprTree(BO, Factors, Flags);
1163 V = BO;
1167 V = CreateNeg(V, "neg", InsertPt, BO);
1178 BinaryOperator *BO = isReassociableOp(V, Instruction::Mul, Instruction::FMul);
1179 if (!BO) {
1185 FindSingleUseMultiplyFactors(BO->getOperand(1), Factors);
1186 FindSingleUseMultiplyFactors(BO->getOperand(0), Factors);
2258 BinaryOperator *BO = cast<BinaryOperator>(I);
2262 unsigned Opcode = BO->getOpcode();
2263 if (BO->hasOneUse() && BO->user_back()->getOpcode() == Opcode) {
2267 if (BO->user_back() != BO &&
2268 BO->getParent() == BO->user_back()->getParent())
2269 RedoInsts.insert(BO->user_back());
2275 if (BO->hasOneUse() && BO->getOpcode() == Instruction::Add &&
2276 cast<Instruction>(BO->user_back())->getOpcode() == Instruction::Sub)
2278 if (BO->hasOneUse() && BO->getOpcode() == Instruction::FAdd &&
2279 cast<Instruction>(BO->user_back())->getOpcode() == Instruction::FSub)
2282 ReassociateExpression(BO);