Home | History | Annotate | Download | only in Utils

Lines Matching refs:SE

50     ScalarEvolution  *SE;
58 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, LPPassManager *LPM,
62 SE(SE),
120 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand");
132 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D));
135 if (!SE->isSCEVable(UseInst->getType()))
139 if (SE->getSCEV(UseInst) != FoldedExpr)
146 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper");
168 const SCEV *S = SE->getSCEV(ICmp->getOperand(IVOperIdx));
169 const SCEV *X = SE->getSCEV(ICmp->getOperand(1 - IVOperIdx));
173 S = SE->getSCEVAtScope(S, ICmpLoop);
174 X = SE->getSCEVAtScope(X, ICmpLoop);
178 if (SE->isKnownPredicate(Pred, S, X))
180 else if (SE->isKnownPredicate(ICmpInst::getInversePredicate(Pred), S, X))
202 const SCEV *S = SE->getSCEV(Rem->getOperand(0));
203 const SCEV *X = SE->getSCEV(Rem->getOperand(1));
207 S = SE->getSCEVAtScope(S, ICmpLoop);
208 X = SE->getSCEVAtScope(X, ICmpLoop);
211 if ((!IsSigned || SE->isKnownNonNegative(S)) &&
212 SE->isKnownPredicate(IsSigned ? ICmpInst::ICMP_SLT : ICmpInst::ICMP_ULT,
218 SE->getMinusSCEV(S, SE->getConstant(S->getType(), 1));
219 if (IsSigned && !SE->isKnownNonNegative(LessOne))
222 if (!SE->isKnownPredicate(IsSigned ?
260 if (!SE->isSCEVable(UseInst->getType()) ||
262 (SE->getSCEV(UseInst) != SE->getSCEV(IVOperand)))
362 static bool isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) {
363 if (!SE->isSCEVable(I->getType()))
367 const SCEV *S = SE->getSCEV(I);
390 if (!SE->isSCEVable(CurrIV->getType()))
439 if (isSimpleIVUser(UseOper.first, L, SE)) {
451 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, LPPassManager *LPM,
455 SimplifyIndvar SIV(LI->getLoopFor(CurrIV->getParent()), SE, LPM, Dead);
462 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, LPPassManager *LPM,
466 Changed |= simplifyUsersOfIV(cast<PHINode>(I), SE, LPM, Dead);