[llvm] 9fd7710 - [KnownBits] isNonZero() - avoid expensive countPopulation call. NFC.

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 8 04:59:38 PST 2020


Author: Simon Pilgrim
Date: 2020-11-08T12:58:30Z
New Revision: 9fd771049701ef24db983cf747e5943784e65b8d

URL: https://github.com/llvm/llvm-project/commit/9fd771049701ef24db983cf747e5943784e65b8d
DIFF: https://github.com/llvm/llvm-project/commit/9fd771049701ef24db983cf747e5943784e65b8d.diff

LOG: [KnownBits] isNonZero() - avoid expensive countPopulation call. NFC.

We can just check for a null value.

Added: 
    

Modified: 
    llvm/include/llvm/Support/KnownBits.h

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Support/KnownBits.h b/llvm/include/llvm/Support/KnownBits.h
index 40470b6e0f7b..0c389f73b6b8 100644
--- a/llvm/include/llvm/Support/KnownBits.h
+++ b/llvm/include/llvm/Support/KnownBits.h
@@ -98,7 +98,7 @@ struct KnownBits {
   bool isNonNegative() const { return Zero.isSignBitSet(); }
 
   /// Returns true if this value is known to be non-zero.
-  bool isNonZero() const { return One.countPopulation() != 0; }
+  bool isNonZero() const { return !One.isNullValue(); }
 
   /// Returns true if this value is known to be positive.
   bool isStrictlyPositive() const { return Zero.isSignBitSet() && !One.isNullValue(); }


        


More information about the llvm-commits mailing list