Lines Matching defs:rewrite

28 // rewrite rules to simplify the expressions.
1076 static const SCEV *rewrite(const SCEV *Scev, ScalarEvolution &SE) {
1118 const SCEV *IntOp = SCEVPtrToIntSinkingRewriter::rewrite(Op, *this);
4885 /// otherwise rewrite cannot be done.
4886 /// If SCEV contains non-invariant unknown SCEV rewrite cannot be done.
4889 static const SCEV *rewrite(const SCEV *S, const Loop *L, ScalarEvolution &SE,
4930 /// If SCEV contains non-invariant unknown SCEV rewrite cannot be done.
4933 static const SCEV *rewrite(const SCEV *S, const Loop *L, ScalarEvolution &SE) {
4974 static const SCEV *rewrite(const SCEV *S, const Loop *L,
5050 static const SCEV *rewrite(const SCEV *S, const Loop *L,
5448 // This predicated rewrite will be cached in PredicatedSCEVRewrites:
5672 // which the casts had been folded away. The caller can rewrite SymbolicPHI
5720 // does not rewrite this expression:
5866 Ops.push_back(SCEVBackedgeConditionFolder::rewrite(Add->getOperand(i),
5939 const SCEV *Shifted = SCEVShiftRewriter::rewrite(BEValue, L, *this);
5940 const SCEV *Start = SCEVInitRewriter::rewrite(Shifted, L, *this, false);
10875 const SCEV *Start = SCEVInitRewriter::rewrite(S, L, *this);
10879 const SCEV *PostInc = SCEVPostIncRewriter::rewrite(S, L, *this);
13198 // Just rewrite steps before "End - Start <= Stride * N <= UMAX"
14607 /// If \p NewPreds is non-null, rewrite is free to add further predicates to
14609 static const SCEV *rewrite(const SCEV *S, const Loop *L, ScalarEvolution &SE,
14722 return SCEVPredicateRewriter::rewrite(S, L, *this, nullptr, &Preds);
14729 S = SCEVPredicateRewriter::rewrite(S, L, *this, &TransformPreds, nullptr);
15233 // SCEV %v which we can rewrite %v to express explicitly.
15237 // If LHS is A % B, i.e. A % B == 0, rewrite A to (A /u B) * B to
15266 // Puts rewrite rule \p From -> \p To into the rewrite map. Also if \p From
15267 // and \p FromRewritten are the same (i.e. there has been no rewrite
15278 // existing rewrite because we want to chain further rewrites onto the
15518 // Now that all rewrite information is collect, rewrite the collected
15525 Guards.RewriteMap.insert({Expr, Guards.rewrite(RewriteTo)});
15531 const SCEV *ScalarEvolution::LoopGuards::rewrite(const SCEV *Expr) const {
15652 return Guards.rewrite(Expr);