Lines Matching defs:SE
56 function_ref<void(Function &F, LoopInfo &LI, ScalarEvolution &SE)> Test) {
59 ScalarEvolution SE = buildSE(*F);
60 Test(*F, *LI, SE);
114 ScalarEvolution SE = buildSE(*F);
115 const SCEV *S = SE.getSCEV(Select);
182 ScalarEvolution SE = buildSE(*F);
184 SE.getAddRecExpr(SE.getUnknown(GepBase), SE.getConstant(T_int64, 1),
187 SCEVExpander Exp(SE, NIM.getDataLayout(), "expander");
256 ScalarEvolution SE = buildSE(*F);
257 SCEVExpander Exp(SE, M.getDataLayout(), "expander");
258 const SCEV *S = SE.getSCEV(Phi);
268 Exp.expandCodeFor(SE.getSCEV(Add), nullptr, Ret);
316 ScalarEvolution SE = buildSE(*F);
317 const SCEV *S = SE.getSCEV(S1);
319 SCEVExpander Exp(SE, M.getDataLayout(), "expander");
368 ScalarEvolution SE = buildSE(*F);
369 const SCEV *S = SE.getSCEV(S1);
371 SCEVExpander Exp(SE, M.getDataLayout(), "expander");
413 ScalarEvolution SE = buildSE(*F);
415 const SCEV *SC2 = SE.getSCEV(S2);
418 const SCEV *SC1 = SE.getSCEV(S1);
422 SCEVExpander Exp(SE, M.getDataLayout(), "expander");
464 ScalarEvolution SE = buildSE(*F);
466 const SCEV *SC2 = SE.getSCEV(S2);
469 const SCEV *SC1 = SE.getSCEV(S1);
473 SCEVExpander Exp(SE, M.getDataLayout(), "expander");
485 [&](std::function<const SCEV *(ScalarEvolution & SE, Loop * L)>
505 *M, "test", [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
510 auto *AR = GetAddRec(SE, Loop);
512 SE.getTypeSizeInBits(AR->getType());
514 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
529 ScalarEvolution & SE, Loop * L)>
550 runWithSE(*M, "test", [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
558 auto *AR = GetAddRec(SE, Loop);
560 unsigned ExpectedCanonicalIVWidth = SE.getTypeSizeInBits(AR->getType());
565 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
606 [&](std::function<const SCEV *(ScalarEvolution & SE, Loop * L)> GetAddRec,
633 *M, "test", [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
643 auto *AR = GetAddRec(SE, Loop);
644 EXPECT_EQ(ARBitWidth, SE.getTypeSizeInBits(AR->getType()));
647 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
669 auto GetAR2 = [&](ScalarEvolution &SE, Loop *L) -> const SCEV * {
670 return SE.getAddRecExpr(SE.getConstant(APInt(ARBitWidth, 5)),
671 SE.getOne(ARType), L, SCEV::FlagAnyWrap);
695 ScalarEvolution SE = buildSE(*F);
696 const SCEV *AndSCEV = SE.getSCEV(And);
700 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
729 [&](std::function<const SCEVAddRecExpr *(ScalarEvolution & SE, Loop * L)>
749 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
754 auto *AR = GetAddRec(SE, Loop);
757 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
760 const SCEV *ExpandedAR = SE.getSCEV(V);
769 ScalarEvolution & SE, Loop * L)>
790 runWithSE(*M, "test", [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
798 auto *AR = GetAddRec(SE, Loop);
801 unsigned ExpectedCanonicalIVWidth = SE.getTypeSizeInBits(AR->getType());
806 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
809 const SCEV *ExpandedAR = SE.getSCEV(V);
818 [&](std::function<const SCEVAddRecExpr *(ScalarEvolution & SE, Loop * L)>
846 *M, "test", [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
856 auto *AR = GetAddRec(SE, Loop);
858 EXPECT_EQ(ARBitWidth, SE.getTypeSizeInBits(AR->getType()));
861 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
864 const SCEV *ExpandedAR = SE.getSCEV(V);
874 auto GetAR3 = [&](ScalarEvolution &SE, Loop *L) -> const SCEVAddRecExpr * {
875 SmallVector<const SCEV *, 3> Ops = {SE.getConstant(APInt(ARBitWidth, 5)),
876 SE.getOne(ARType), SE.getOne(ARType)};
877 return cast<SCEVAddRecExpr>(SE.getAddRecExpr(Ops, L, SCEV::FlagAnyWrap));
884 auto GetAR4 = [&](ScalarEvolution &SE, Loop *L) -> const SCEVAddRecExpr * {
885 SmallVector<const SCEV *, 4> Ops = {SE.getConstant(APInt(ARBitWidth, 5)),
886 SE.getOne(ARType), SE.getOne(ARType),
887 SE.getOne(ARType)};
888 return cast<SCEVAddRecExpr>(SE.getAddRecExpr(Ops, L, SCEV::FlagAnyWrap));
895 auto GetAR5 = [&](ScalarEvolution &SE, Loop *L) -> const SCEVAddRecExpr * {
896 SmallVector<const SCEV *, 5> Ops = {SE.getConstant(APInt(ARBitWidth, 5)),
897 SE.getOne(ARType), SE.getOne(ARType),
898 SE.getOne(ARType), SE.getOne(ARType)};
899 return cast<SCEVAddRecExpr>(SE.getAddRecExpr(Ops, L, SCEV::FlagAnyWrap));
924 runWithSE(*M, "test", [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
927 SE.getAddExpr(SE.getSCEV(&I), SE.getConstant(I.getType(), 1));
928 SCEVExpander Exp(SE, M->getDataLayout(), "expander");
975 ScalarEvolution SE = buildSE(*F);
976 const SCEV *Ptr = SE.getSCEV(F->getArg(0));
977 const SCEV *X = SE.getSCEV(F->getArg(1));
978 const SCEV *PtrX = SE.getAddExpr(Ptr, X);
980 SCEVExpander Exp(SE, M->getDataLayout(), "expander");