diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-10-18 00:29:23 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-10-18 00:29:23 +0000 |
commit | f07d2a7143722f58727ed618160577a365f4d213 (patch) | |
tree | 0a45592dc6a72debe813c1ddfbe72b9aaf8a606f /llvm/lib/Analysis | |
parent | 63914590698a9896f9b2b2a1abbb968661e47600 (diff) | |
download | bcm5719-llvm-f07d2a7143722f58727ed618160577a365f4d213.tar.gz bcm5719-llvm-f07d2a7143722f58727ed618160577a365f4d213.zip |
[SCEV] Use std::all_of and std::any_of; NFC
llvm-svn: 250635
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r-- | llvm/lib/Analysis/ScalarEvolution.cpp | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 6c72feb71cd..6b32a7a9d29 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -2844,12 +2844,10 @@ ScalarEvolution::getAddRecExpr(SmallVectorImpl<const SCEV *> &Operands, // AddRecs require their operands be loop-invariant with respect to their // loops. Don't perform this transformation if it would break this // requirement. - bool AllInvariant = true; - for (unsigned i = 0, e = Operands.size(); i != e; ++i) - if (!isLoopInvariant(Operands[i], L)) { - AllInvariant = false; - break; - } + bool AllInvariant = + std::all_of(Operands.begin(), Operands.end(), + [&](const SCEV *Op) { return isLoopInvariant(Op, L); }); + if (AllInvariant) { // Create a recurrence for the outer loop with the same step size. // @@ -2859,12 +2857,10 @@ ScalarEvolution::getAddRecExpr(SmallVectorImpl<const SCEV *> &Operands, maskFlags(Flags, SCEV::FlagNW | NestedAR->getNoWrapFlags()); NestedOperands[0] = getAddRecExpr(Operands, L, OuterFlags); - AllInvariant = true; - for (unsigned i = 0, e = NestedOperands.size(); i != e; ++i) - if (!isLoopInvariant(NestedOperands[i], NestedLoop)) { - AllInvariant = false; - break; - } + AllInvariant = std::all_of( + NestedOperands.begin(), NestedOperands.end(), + [&](const SCEV *Op) { return isLoopInvariant(Op, NestedLoop); }); + if (AllInvariant) { // Ok, both add recurrences are valid after the transformation. // @@ -8127,10 +8123,9 @@ const SCEV *SCEVAddRecExpr::getNumIterationsInRange(ConstantRange Range, // The only time we can solve this is when we have all constant indices. // Otherwise, we cannot determine the overflow conditions. - for (unsigned i = 0, e = getNumOperands(); i != e; ++i) - if (!isa<SCEVConstant>(getOperand(i))) - return SE.getCouldNotCompute(); - + if (std::any_of(op_begin(), op_end(), + [](const SCEV *Op) { return !isa<SCEVConstant>(Op);})) + return SE.getCouldNotCompute(); // Okay at this point we know that all elements of the chrec are constants and // that the start element is zero. |