From 361ac0df6570558bd80b21e257a0a3e465cd20b4 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Fri, 13 Feb 2015 04:18:14 +0000 Subject: [PATCH] [unroll] Replace a boolean, for loop, condition, and break with std::all_of and a lambda. Much cleaner, no functionality changed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229058 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/LoopUnrollPass.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/Transforms/Scalar/LoopUnrollPass.cpp b/lib/Transforms/Scalar/LoopUnrollPass.cpp index 4c57c922bc9..ccc4a248476 100644 --- a/lib/Transforms/Scalar/LoopUnrollPass.cpp +++ b/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(U))) { - AllUsersFolded = false; - break; - } - if (AllUsersFolded) { + if (std::all_of(I->user_begin(), I->user_end(), [&](User *U) { + return DeadInstructions.count(cast(U)); + })) { NumberOfOptimizedInstructions += TTI.getUserCost(I); DeadInstructions.insert(I); EnqueueOperands(*I); -- 2.34.1