From fdc4eb0ce7e3ad5be3cb1e85b03b72642315b7f4 Mon Sep 17 00:00:00 2001 From: Zvi Rackover Date: Tue, 18 Apr 2017 14:55:43 +0000 Subject: [PATCH] LoopRerollPass: Prefer Value::hasOneUse() over Value::getNumUses(). NFC. getNumUses() can be more expensive as it iterates over all list's elements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300558 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/LoopRerollPass.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Transforms/Scalar/LoopRerollPass.cpp b/lib/Transforms/Scalar/LoopRerollPass.cpp index 86058fe0b1a..d54ad58fe1d 100644 --- a/lib/Transforms/Scalar/LoopRerollPass.cpp +++ b/lib/Transforms/Scalar/LoopRerollPass.cpp @@ -557,7 +557,7 @@ bool LoopReroll::isLoopControlIV(Loop *L, Instruction *IV) { Instruction *UUser = dyn_cast(UU); // Skip SExt if we are extending an nsw value // TODO: Allow ZExt too - if (BO->hasNoSignedWrap() && UUser && UUser->getNumUses() == 1 && + if (BO->hasNoSignedWrap() && UUser && UUser->hasOneUse() && isa(UUser)) UUser = dyn_cast(*(UUser->user_begin())); if (!isCompareUsedByBranch(UUser)) -- 2.50.1