Home | History | Annotate | Download | only in opt

Lines Matching refs:SENode

200   DependenceLine(SENode* a, SENode* b, SENode* c, const Loop* loop)
208 SENode* GetA() const { return a_; }
209 SENode* GetB() const { return b_; }
210 SENode* GetC() const { return c_; }
213 SENode* a_;
214 SENode* b_;
215 SENode* c_;
220 DependenceDistance(SENode* distance, const Loop* loop)
228 SENode* GetDistance() const { return distance_; }
231 SENode* distance_;
236 DependencePoint(SENode* source, SENode* destination, const Loop* loop)
244 SENode* GetSource() const { return source_; }
245 SENode* GetDestination() const { return destination_; }
248 SENode* source_;
249 SENode* destination_;
315 bool IsZIV(const std::pair<SENode*, SENode*>& subscript_pair);
319 bool IsSIV(const std::pair<SENode*, SENode*>& subscript_pair);
323 bool IsMIV(const std::pair<SENode*, SENode*>& subscript_pair);
325 // Finds the lower bound of |loop| as an SENode* and returns the result.
327 SENode* GetLowerBound(const Loop* loop);
329 // Finds the upper bound of |loop| as an SENode* and returns the result.
331 SENode* GetUpperBound(const Loop* loop);
337 // resulting SENode.
339 SENode* GetTripCount(const Loop* loop);
341 // Returns the SENode* produced by building an SENode from the result of
344 SENode* GetFirstTripInductionNode(const Loop* loop);
346 // Returns the SENode* produced by building an SENode from the result of
349 SENode* GetFinalTripInductionNode(const Loop* loop,
350 SENode* induction_coefficient);
357 std::set<const Loop*> CollectLoops(SENode* source, SENode* destination);
360 // |coefficient| must be an SENode representing the coefficient of the
364 bool IsProvablyOutsideOfLoopBounds(const Loop* loop, SENode* distance,
365 SENode* coefficient);
402 const std::pair<SENode*, SENode*>& subscript_pair);
407 const std::pair<SENode*, SENode*>& subscript_pair,
421 const std::vector<std::pair<SENode*, SENode*>>& coupled_subscripts,
426 std::pair<SENode*, SENode*> PropagateConstraints(
427 const std::pair<SENode*, SENode*>& subscript_pair,
434 const SENode* lower_bound,
435 const SENode* upper_bound);
465 bool ZIVTest(const std::pair<SENode*, SENode*>& subscript_pair);
469 bool SIVTest(const std::pair<SENode*, SENode*>& subscript_pair,
479 bool StrongSIVTest(SENode* source, SENode* destination, SENode* coeff,
485 bool SymbolicStrongSIVTest(SENode* source, SENode* destination,
486 SENode* coefficient,
493 bool WeakZeroSourceSIVTest(SENode* source, SERecurrentNode* destination,
494 SENode* coefficient,
501 bool WeakZeroDestinationSIVTest(SERecurrentNode* source, SENode* destination,
502 SENode* coefficient,
509 bool WeakCrossingSIVTest(SENode* source, SENode* destination,
510 SENode* coefficient, DistanceEntry* distance_entry);
518 bool GCDMIVTest(const std::pair<SENode*, SENode*>& subscript_pair);
522 int64_t CountInductionVariables(SENode* node);
527 int64_t CountInductionVariables(SENode* source, SENode* destination);
532 SENode* GetConstantTerm(const Loop* loop, SERecurrentNode* induction);