Lines Matching defs:Factors

141                                 SmallVectorImpl<Factor> &Factors);
143 SmallVectorImpl<Factor> &Factors);
968 SmallVector<ValueEntry, 8> Factors;
969 Factors.reserve(Tree.size());
972 Factors.append(E.second.getZExtValue(),
978 for (unsigned i = 0, e = Factors.size(); i != e; ++i) {
979 if (Factors[i].Op == Factor) {
981 Factors.erase(Factors.begin()+i);
987 if (ConstantInt *FC2 = dyn_cast<ConstantInt>(Factors[i].Op))
990 Factors.erase(Factors.begin()+i);
997 RewriteExprTree(BO, Factors);
1005 if (Factors.size() == 1) {
1007 V = Factors[0].Op;
1009 RewriteExprTree(BO, Factors);
1024 SmallVectorImpl<Value*> &Factors,
1028 Factors.push_back(V);
1033 FindSingleUseMultiplyFactors(BO->getOperand(1), Factors, Ops);
1034 FindSingleUseMultiplyFactors(BO->getOperand(0), Factors, Ops);
1177 SmallVector<Value*, 8> Factors;
1178 FindSingleUseMultiplyFactors(BOp, Factors, Ops);
1179 assert(Factors.size() > 1 && "Bad linearize!");
1183 for (unsigned i = 0, e = Factors.size(); i != e; ++i) {
1184 Value *Factor = Factors[i];
1296 SmallVectorImpl<Factor> &Factors) {
1330 // Move an even number of occurrences to Factors.
1334 Factors.push_back(Factor(Op, Count));
1342 std::sort(Factors.begin(), Factors.end(), Factor::PowerDescendingSorter());
1367 SmallVectorImpl<Factor> &Factors) {
1368 assert(Factors[0].Power);
1370 for (unsigned LastIdx = 0, Idx = 1, Size = Factors.size();
1371 Idx < Size && Factors[Idx].Power > 0; ++Idx) {
1372 if (Factors[Idx].Power != Factors[LastIdx].Power) {
1381 InnerProduct.push_back(Factors[LastIdx].Base);
1383 InnerProduct.push_back(Factors[Idx].Base);
1385 } while (Idx < Size && Factors[Idx].Power == Factors[LastIdx].Power);
1389 Value *M = Factors[LastIdx].Base = buildMultiplyTree(Builder, InnerProduct);
1397 Factors.erase(std::unique(Factors.begin(), Factors.end(),
1399 Factors.end());
1404 for (unsigned Idx = 0, Size = Factors.size(); Idx != Size; ++Idx) {
1405 if (Factors[Idx].Power & 1)
1406 OuterProduct.push_back(Factors[Idx].Base);
1407 Factors[Idx].Power >>= 1;
1409 if (Factors[0].Power) {
1410 Value *SquareRoot = buildMinimalMultiplyDAG(Builder, Factors);
1431 SmallVector<Factor, 4> Factors;
1432 if (!collectMultiplyFactors(Ops, Factors))
1436 Value *V = buildMinimalMultiplyDAG(Builder, Factors);