Home
last modified time | relevance | path

Searched refs:AddRec (Results 1 – 25 of 26) sorted by relevance

12

/external/llvm/lib/Analysis/
DDependenceAnalysis.cpp855 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Src); in checkSrcSubscript() local
856 if (!AddRec) in checkSrcSubscript()
858 const SCEV *Start = AddRec->getStart(); in checkSrcSubscript()
859 const SCEV *Step = AddRec->getStepRecurrence(*SE); in checkSrcSubscript()
860 const SCEV *UB = SE->getBackedgeTakenCount(AddRec->getLoop()); in checkSrcSubscript()
864 if (!AddRec->getNoWrapFlags()) in checkSrcSubscript()
870 Loops.set(mapSrcLoop(AddRec->getLoop())); in checkSrcSubscript()
880 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Dst); in checkDstSubscript() local
881 if (!AddRec) in checkDstSubscript()
883 const SCEV *Start = AddRec->getStart(); in checkDstSubscript()
[all …]
DScalarEvolution.cpp1132 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr() local
1134 for (const SCEV *Op : AddRec->operands()) in getTruncateExpr()
1136 return getAddRecExpr(Operands, AddRec->getLoop(), SCEV::FlagAnyWrap); in getTruncateExpr()
2288 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); in getAddExpr() local
2289 const Loop *AddRecLoop = AddRec->getLoop(); in getAddExpr()
2300 LIOps.push_back(AddRec->getStart()); in getAddExpr()
2302 SmallVector<const SCEV *, 4> AddRecOps(AddRec->op_begin(), in getAddExpr()
2303 AddRec->op_end()); in getAddExpr()
2312 Flags = AddRec->getNoWrapFlags(setFlags(Flags, SCEV::FlagNW)); in getAddExpr()
2320 if (Ops[i] == AddRec) { in getAddExpr()
[all …]
/external/swiftshader/third_party/LLVM/lib/Analysis/
DScalarEvolution.cpp856 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr() local
858 for (unsigned i = 0, e = AddRec->getNumOperands(); i != e; ++i) in getTruncateExpr()
859 Operands.push_back(getTruncateExpr(AddRec->getOperand(i), Ty)); in getTruncateExpr()
860 return getAddRecExpr(Operands, AddRec->getLoop(), SCEV::FlagAnyWrap); in getTruncateExpr()
1723 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ops[Idx]); in getAddExpr() local
1724 const Loop *AddRecLoop = AddRec->getLoop(); in getAddExpr()
1735 LIOps.push_back(AddRec->getStart()); in getAddExpr()
1737 SmallVector<const SCEV *, 4> AddRecOps(AddRec->op_begin(), in getAddExpr()
1738 AddRec->op_end()); in getAddExpr()
1744 Flags = AddRec->getNoWrapFlags(setFlags(Flags, SCEV::FlagNW)); in getAddExpr()
[all …]
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
DIndVarSimplify.cpp949 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>( in GetExtendedOperandRecurrence() local
953 if (!AddRec || AddRec->getLoop() != L) in GetExtendedOperandRecurrence()
955 return AddRec; in GetExtendedOperandRecurrence()
978 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in GetWideRecurrence() local
979 if (!AddRec || AddRec->getLoop() != L) in GetWideRecurrence()
981 return AddRec; in GetWideRecurrence()
1104 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in CreateWideIV() local
1105 if (!AddRec) in CreateWideIV()
1110 SE->getSignExtendExpr(AddRec, WideType) : in CreateWideIV()
1111 SE->getZeroExtendExpr(AddRec, WideType); in CreateWideIV()
[all …]
/external/llvm/lib/Transforms/Scalar/
DIndVarSimplify.cpp1162 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() local
1165 if (!AddRec || AddRec->getLoop() != L) in getExtendedOperandRecurrence()
1167 return AddRec; in getExtendedOperandRecurrence()
1189 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in getWideRecurrence() local
1190 if (!AddRec || AddRec->getLoop() != L) in getWideRecurrence()
1192 return AddRec; in getWideRecurrence()
1398 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in createWideIV() local
1399 if (!AddRec) in createWideIV()
1404 SE->getSignExtendExpr(AddRec, WideType) : in createWideIV()
1405 SE->getZeroExtendExpr(AddRec, WideType); in createWideIV()
[all …]
DLoopInterchange.cpp313 const SCEVAddRecExpr *AddRec = in getInductionVariable() local
315 if (!AddRec || !AddRec->isAffine()) in getInductionVariable()
317 const SCEV *Step = AddRec->getStepRecurrence(*SE); in getInductionVariable()
/external/llvm/test/Analysis/Delinearization/
Dmultidim_only_ivs_2d.ll13 ; AddRec: {{0,+,(%m * 8)}<%for.i>,+,8}<%for.j>
20 ; AddRec: {{%A,+,(8 * %m)}<%for.i>,+,8}<%for.j>
Ddivide_by_one.ll13 ; AddRec: {{(-1 + ((1 + %bs) * %stride)),+,(-1 * %stride)}<%for.cond1.preheader>,+,1}<nw><%for.body…
19 ; AddRec: {{(%stride * %bs),+,(-1 * %stride)}<%for.cond1.preheader>,+,1}<nw><%for.body3>
Dtype_mismatch.ll6 ; function tries to create an AddRec where the start and step are different
Div_times_constant_in_subscript.ll11 ; AddRec: {{((%m * %b * 8) + %A),+,(2 * %m * 8)}<%for.i>,+,(2 * 8)}<%for.j>
Dmultidim_only_ivs_3d.ll11 ; AddRec: {{{%A,+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,8}<%for.k>
Dmultidim_ivs_and_integer_offsets_3d.ll11 ; AddRec: {{{(56 + (8 * (-4 + (3 * %m)) * %o) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,…
Dmultidim_ivs_and_parameteric_offsets_3d.ll11 ; AddRec: {{{((8 * ((((%m * %p) + %q) * %o) + %r)) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.…
Dmultidim_only_ivs_3d_cast.ll10 ; AddRec: {{{%A,+,(8 * (zext i32 %m to i64) * (zext i32 %o to i64))}<%for.i>,+,(8 * (zext i32 %o to…
Da.ll10 ; AddRec: {{{(28 + (4 * (-4 + (3 * %m)) * %o) + %A),+,(8 * %m * %o)}<%for.i>,+,(12 * %o)}<%for.j>,+…
Dmultidim_ivs_and_integer_offsets_nts_3d.ll11 ; AddRec: {{{(56 + (8 * (-4 + (3 * %m)) * (%o + %p)) + %A),+,(8 * (%o + %p) * %m)}<%for.cond4.prehe…
Dmultidim_only_ivs_2d_nested.ll18 ; AddRec: {{%vla.us,+,{8,+,8}<%for.cond7.preheader.lr.ph.split.us.us>}<%for.body9.lr.ph.us.us>,+,8}…
Dhimeno_1.ll29 ; AddRec: {{{(4 + (4 * (sext i32 %a.deps to i64) * (1 + (sext i32 %a.cols to i64))) + %a.base),+,(4…
Dhimeno_2.ll29 ; AddRec: {{{(4 + (4 * (sext i32 %a.deps to i64) * (1 + (sext i32 %a.cols to i64))) + %a.base),+,(4…
/external/llvm/test/Transforms/LoopStrengthReduce/
D2012-01-02-nopreheader.ll10 ; This involves a nested AddRec, the outer AddRec's loop invariant components
Divchain.ll4 ; A sign extend feeds an IVUser and cannot be hoisted into the AddRec.
/external/llvm/test/Transforms/LoopVectorize/AArch64/
Dbackedge-overflow.ll5 ; icmp with one of the sides being a loop varying non-AddRec expression.
6 ; However, there is a possibility to normalize this to an AddRec expression
/external/llvm/test/Analysis/ScalarEvolution/
Dscev-expander-existing-value.ll3 ; SCEV expansion uses existing value when the SCEV has no AddRec expr.
/external/llvm/test/Transforms/LoopSimplify/
Dashr-crash.ll15 ; inconsistent with the AddRec.
/external/llvm/test/Transforms/SLPVectorizer/X86/
Dconsecutive-access.ll120 ; Similar to the previous tests, but now we are dealing with AddRec SCEV.

12