diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp index 4c57c922bc9..ccc4a248476 100644 --- a/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp +++ b/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp @@ -542,14 +542,10 @@ public: continue; if (DeadInstructions.count(I)) continue; - bool AllUsersFolded = true; - for (User *U : I->users()) - if (!DeadInstructions.count(cast<Instruction>(U))) { - AllUsersFolded = false; - break; - } - if (AllUsersFolded) { + if (std::all_of(I->user_begin(), I->user_end(), [&](User *U) { + return DeadInstructions.count(cast<Instruction>(U)); + })) { NumberOfOptimizedInstructions += TTI.getUserCost(I); DeadInstructions.insert(I); EnqueueOperands(*I); |

