[llvm] r301654 - [ValueTracking] Use APInt::isSubsetOf and APInt::intersects. NFC

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 28 09:57:55 PDT 2017


Author: ctopper
Date: Fri Apr 28 11:57:55 2017
New Revision: 301654

URL: http://llvm.org/viewvc/llvm-project?rev=301654&view=rev
Log:
[ValueTracking] Use APInt::isSubsetOf and APInt::intersects. NFC

Modified:
    llvm/trunk/lib/Analysis/ValueTracking.cpp

Modified: llvm/trunk/lib/Analysis/ValueTracking.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ValueTracking.cpp?rev=301654&r1=301653&r2=301654&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/ValueTracking.cpp (original)
+++ llvm/trunk/lib/Analysis/ValueTracking.cpp Fri Apr 28 11:57:55 2017
@@ -1162,12 +1162,12 @@ static void computeKnownBitsFromOperator
 
         // If the first operand is non-negative or has all low bits zero, then
         // the upper bits are all zero.
-        if (Known2.Zero.isSignBitSet() || ((Known2.Zero & LowBits) == LowBits))
+        if (Known2.Zero.isSignBitSet() || LowBits.isSubsetOf(Known2.Zero))
           Known.Zero |= ~LowBits;
 
         // If the first operand is negative and not all low bits are zero, then
         // the upper bits are all one.
-        if (Known2.One.isSignBitSet() && ((Known2.One & LowBits) != 0))
+        if (Known2.One.isSignBitSet() && LowBits.intersects(Known2.One))
           Known.One |= ~LowBits;
 
         assert((Known.Zero & Known.One) == 0 && "Bits known to be one AND zero?");




More information about the llvm-commits mailing list