Lines Matching defs:Factors
1108 SmallVector<ValueEntry, 8> Factors;
1109 Factors.reserve(Tree.size());
1112 Factors.append(E.second, ValueEntry(getRank(E.first), E.first));
1117 for (unsigned i = 0, e = Factors.size(); i != e; ++i) {
1118 if (Factors[i].Op == Factor) {
1120 Factors.erase(Factors.begin()+i);
1126 if (ConstantInt *FC2 = dyn_cast<ConstantInt>(Factors[i].Op))
1129 Factors.erase(Factors.begin()+i);
1133 if (ConstantFP *FC2 = dyn_cast<ConstantFP>(Factors[i].Op)) {
1139 Factors.erase(Factors.begin() + i);
1148 RewriteExprTree(BO, Factors, Flags);
1156 if (Factors.size() == 1) {
1158 V = Factors[0].Op;
1160 RewriteExprTree(BO, Factors, Flags);
1175 SmallVectorImpl<Value*> &Factors) {
1178 Factors.push_back(V);
1183 FindSingleUseMultiplyFactors(BO->getOperand(1), Factors);
1184 FindSingleUseMultiplyFactors(BO->getOperand(0), Factors);
1596 SmallVector<Value*, 8> Factors;
1597 FindSingleUseMultiplyFactors(BOp, Factors);
1598 assert(Factors.size() > 1 && "Bad linearize!");
1602 for (Value *Factor : Factors) {
1727 SmallVectorImpl<Factor> &Factors) {
1761 // Move an even number of occurrences to Factors.
1765 Factors.push_back(Factor(Op, Count));
1773 llvm::stable_sort(Factors, [](const Factor &LHS, const Factor &RHS) {
1804 SmallVectorImpl<Factor> &Factors) {
1805 assert(Factors[0].Power);
1807 for (unsigned LastIdx = 0, Idx = 1, Size = Factors.size();
1808 Idx < Size && Factors[Idx].Power > 0; ++Idx) {
1809 if (Factors[Idx].Power != Factors[LastIdx].Power) {
1818 InnerProduct.push_back(Factors[LastIdx].Base);
1820 InnerProduct.push_back(Factors[Idx].Base);
1822 } while (Idx < Size && Factors[Idx].Power == Factors[LastIdx].Power);
1826 Value *M = Factors[LastIdx].Base = buildMultiplyTree(Builder, InnerProduct);
1834 Factors.erase(llvm::unique(Factors,
1838 Factors.end());
1843 for (Factor &F : Factors) {
1848 if (Factors[0].Power) {
1849 Value *SquareRoot = buildMinimalMultiplyDAG(Builder, Factors);
1870 SmallVector<Factor, 4> Factors;
1871 if (!collectMultiplyFactors(Ops, Factors))
1881 Value *V = buildMinimalMultiplyDAG(Builder, Factors);