diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 1508fd0c524..27158e5ddde 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -1416,11 +1416,7 @@ SCEVHandle ScalarEvolutionsImpl::createNodeForPHI(PHINode *PN) { /// it returns 2. If S is guaranteed to be 0, it returns the bitwidth of S. static uint32_t GetMinTrailingZeros(SCEVHandle S) { if (SCEVConstant *C = dyn_cast(S)) - // APInt::countTrailingZeros() returns the number of trailing zeros in its - // internal representation, which length may be greater than the represented - // value bitwidth. This is why we use a min operation here. - return std::min(C->getValue()->getValue().countTrailingZeros(), - C->getBitWidth()); + return C->getValue()->getValue().countTrailingZeros(); if (SCEVTruncateExpr *T = dyn_cast(S)) return std::min(GetMinTrailingZeros(T->getOperand()), T->getBitWidth());