Home | History | Annotate | Download | only in Utils

Lines Matching defs:SE

48     ScalarEvolution  *SE;
57 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, LPPassManager *LPM,
61 SE(SE),
116 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand");
128 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D));
131 if (!SE->isSCEVable(UseInst->getType()))
135 if (SE->getSCEV(UseInst) != FoldedExpr)
142 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper");
164 const SCEV *S = SE->getSCEV(ICmp->getOperand(IVOperIdx));
165 const SCEV *X = SE->getSCEV(ICmp->getOperand(1 - IVOperIdx));
169 S = SE->getSCEVAtScope(S, ICmpLoop);
170 X = SE->getSCEVAtScope(X, ICmpLoop);
174 if (SE->isKnownPredicate(Pred, S, X))
176 else if (SE->isKnownPredicate(ICmpInst::getInversePredicate(Pred), S, X))
198 const SCEV *S = SE->getSCEV(Rem->getOperand(0));
199 const SCEV *X = SE->getSCEV(Rem->getOperand(1));
203 S = SE->getSCEVAtScope(S, ICmpLoop);
204 X = SE->getSCEVAtScope(X, ICmpLoop);
207 if ((!IsSigned || SE->isKnownNonNegative(S)) &&
208 SE->isKnownPredicate(IsSigned ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT,
214 SE->getMinusSCEV(S, SE->getConstant(S->getType(), 1));
215 if (IsSigned && !SE->isKnownNonNegative(LessOne))
218 if (!SE->isKnownPredicate(IsSigned ?
261 if (!SE->isSCEVable(UseInst->getType()) ||
263 (SE->getSCEV(UseInst) != SE->getSCEV(IVOperand)))
301 static bool isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) {
302 if (!SE->isSCEVable(I->getType()))
306 const SCEV *S = SE->getSCEV(I);
329 if (!SE->isSCEVable(CurrIV->getType()))
370 if (isSimpleIVUser(UseOper.first, L, SE)) {
380 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM,
384 SimplifyIndvar SIV(LI->getLoopFor(CurrIV->getParent()), SE, LPM, Dead);
391 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM,
395 Changed |= simplifyUsersOfIV(cast<PHINode>(I), SE, LPM, Dead);
405 bool simplifyIVUsers(IVUsers *IU, ScalarEvolution *SE, LPPassManager *LPM,
407 SimplifyIndvar SIV(IU->getLoop(), SE, LPM, Dead);