Lines Matching refs:Factors

1191   SmallVector<ValueEntry, 8> Factors;  in RemoveFactorFromExpression()  local
1192 Factors.reserve(Tree.size()); in RemoveFactorFromExpression()
1195 Factors.append(E.second.getZExtValue(), in RemoveFactorFromExpression()
1201 for (unsigned i = 0, e = Factors.size(); i != e; ++i) { in RemoveFactorFromExpression()
1202 if (Factors[i].Op == Factor) { in RemoveFactorFromExpression()
1204 Factors.erase(Factors.begin()+i); in RemoveFactorFromExpression()
1210 if (ConstantInt *FC2 = dyn_cast<ConstantInt>(Factors[i].Op)) in RemoveFactorFromExpression()
1213 Factors.erase(Factors.begin()+i); in RemoveFactorFromExpression()
1217 if (ConstantFP *FC2 = dyn_cast<ConstantFP>(Factors[i].Op)) { in RemoveFactorFromExpression()
1223 Factors.erase(Factors.begin() + i); in RemoveFactorFromExpression()
1232 RewriteExprTree(BO, Factors, HasNUW); in RemoveFactorFromExpression()
1240 if (Factors.size() == 1) { in RemoveFactorFromExpression()
1242 V = Factors[0].Op; in RemoveFactorFromExpression()
1244 RewriteExprTree(BO, Factors, HasNUW); in RemoveFactorFromExpression()
1259 SmallVectorImpl<Value*> &Factors) { in FindSingleUseMultiplyFactors() argument
1262 Factors.push_back(V); in FindSingleUseMultiplyFactors()
1267 FindSingleUseMultiplyFactors(BO->getOperand(1), Factors); in FindSingleUseMultiplyFactors()
1268 FindSingleUseMultiplyFactors(BO->getOperand(0), Factors); in FindSingleUseMultiplyFactors()
1679 SmallVector<Value*, 8> Factors; in OptimizeAdd() local
1680 FindSingleUseMultiplyFactors(BOp, Factors); in OptimizeAdd()
1681 assert(Factors.size() > 1 && "Bad linearize!"); in OptimizeAdd()
1685 for (Value *Factor : Factors) { in OptimizeAdd()
1810 SmallVectorImpl<Factor> &Factors) { in collectMultiplyFactors() argument
1848 Factors.push_back(Factor(Op, Count)); in collectMultiplyFactors()
1856 llvm::stable_sort(Factors, [](const Factor &LHS, const Factor &RHS) { in collectMultiplyFactors()
1887 SmallVectorImpl<Factor> &Factors) { in buildMinimalMultiplyDAG() argument
1888 assert(Factors[0].Power); in buildMinimalMultiplyDAG()
1890 for (unsigned LastIdx = 0, Idx = 1, Size = Factors.size(); in buildMinimalMultiplyDAG()
1891 Idx < Size && Factors[Idx].Power > 0; ++Idx) { in buildMinimalMultiplyDAG()
1892 if (Factors[Idx].Power != Factors[LastIdx].Power) { in buildMinimalMultiplyDAG()
1901 InnerProduct.push_back(Factors[LastIdx].Base); in buildMinimalMultiplyDAG()
1903 InnerProduct.push_back(Factors[Idx].Base); in buildMinimalMultiplyDAG()
1905 } while (Idx < Size && Factors[Idx].Power == Factors[LastIdx].Power); in buildMinimalMultiplyDAG()
1909 Value *M = Factors[LastIdx].Base = buildMultiplyTree(Builder, InnerProduct); in buildMinimalMultiplyDAG()
1917 Factors.erase(std::unique(Factors.begin(), Factors.end(), in buildMinimalMultiplyDAG()
1921 Factors.end()); in buildMinimalMultiplyDAG()
1926 for (Factor &F : Factors) { in buildMinimalMultiplyDAG()
1931 if (Factors[0].Power) { in buildMinimalMultiplyDAG()
1932 Value *SquareRoot = buildMinimalMultiplyDAG(Builder, Factors); in buildMinimalMultiplyDAG()
1953 SmallVector<Factor, 4> Factors; in OptimizeMul() local
1954 if (!collectMultiplyFactors(Ops, Factors)) in OptimizeMul()
1964 Value *V = buildMinimalMultiplyDAG(Builder, Factors); in OptimizeMul()