Lines Matching refs:Terms
68 SmallVectorImpl<const SCEV *> &Terms; member
70 SCEVCollectTerms(SmallVectorImpl<const SCEV *> &T) : Terms(T) {} in SCEVCollectTerms()
76 Terms.push_back(S); in follow()
125 SmallVectorImpl<const SCEV *> &Terms; member
130 : Terms(T), SE(SE) {} in SCEVCollectAddRecMultiplies()
155 Terms.push_back(SE.getMulExpr(Operands)); in follow()
174 SmallVectorImpl<const SCEV *> &Terms) { in collectParametricTerms() argument
186 SCEVCollectTerms TermCollector(Terms); in collectParametricTerms()
192 for (const SCEV *T : Terms) in collectParametricTerms()
196 SCEVCollectAddRecMultiplies MulCollector(Terms, SE); in collectParametricTerms()
201 SmallVectorImpl<const SCEV *> &Terms, in findArrayDimensionsRec() argument
203 int Last = Terms.size() - 1; in findArrayDimensionsRec()
204 const SCEV *Step = Terms[Last]; in findArrayDimensionsRec()
221 for (const SCEV *&Term : Terms) { in findArrayDimensionsRec()
234 erase_if(Terms, [](const SCEV *E) { return isa<SCEVConstant>(E); }); in findArrayDimensionsRec()
236 if (Terms.size() > 0) in findArrayDimensionsRec()
237 if (!findArrayDimensionsRec(SE, Terms, Sizes)) in findArrayDimensionsRec()
245 static inline bool containsParameters(SmallVectorImpl<const SCEV *> &Terms) { in containsParameters() argument
246 for (const SCEV *T : Terms) in containsParameters()
280 SmallVectorImpl<const SCEV *> &Terms, in findArrayDimensions() argument
283 if (Terms.size() < 1 || !ElementSize) in findArrayDimensions()
288 if (!containsParameters(Terms)) in findArrayDimensions()
293 for (const SCEV *T : Terms) in findArrayDimensions()
298 array_pod_sort(Terms.begin(), Terms.end()); in findArrayDimensions()
299 Terms.erase(std::unique(Terms.begin(), Terms.end()), Terms.end()); in findArrayDimensions()
302 llvm::sort(Terms, [](const SCEV *LHS, const SCEV *RHS) { in findArrayDimensions()
308 for (const SCEV *&Term : Terms) { in findArrayDimensions()
318 for (const SCEV *T : Terms) in findArrayDimensions()
455 SmallVector<const SCEV *, 4> Terms; in delinearize() local
456 collectParametricTerms(SE, Expr, Terms); in delinearize()
458 if (Terms.empty()) in delinearize()
462 findArrayDimensions(SE, Terms, Sizes, ElementSize); in delinearize()