From a0c897f634d5fc7916a66acdf686af0b92f28617 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Wed, 20 Sep 2017 18:49:29 +0000 Subject: [InstCombine] Use APInt::getActiveBits() to avoid creating an APInt from a trailing zero count to do a comparison. NFCI llvm-svn: 313792 --- llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib/Transforms/InstCombine') diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp index b51d7bc4034..980519bcf9c 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -1718,7 +1718,7 @@ Instruction *InstCombiner::foldICmpAndConstConst(ICmpInst &Cmp, // result greater than C1. unsigned NumTZ = C2->countTrailingZeros(); if (Cmp.getPredicate() == ICmpInst::ICMP_UGT && NumTZ < C2->getBitWidth() && - APInt::getOneBitSet(C2->getBitWidth(), NumTZ).ugt(*C1)) { + NumTZ >= C1->getActiveBits()) { Constant *Zero = Constant::getNullValue(And->getType()); return new ICmpInst(ICmpInst::ICMP_NE, And, Zero); } -- cgit v1.2.3