]> granicus.if.org Git - llvm/commitdiff
{DAGCombine] Convert (Val & Mask) == Mask to Mask.isSubsetof(Val). NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 19 Jul 2017 13:39:58 +0000 (13:39 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 19 Jul 2017 13:39:58 +0000 (13:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308460 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index d5d3f7a61a9f97d6efc497ec04b4251ddea1cabb..847d6d8e67713c7e0ce4428add0f10c7d6d6e4dc 100644 (file)
@@ -7854,7 +7854,7 @@ SDValue DAGCombiner::GetDemandedBits(SDValue V, const APInt &Mask) {
   case ISD::AND: {
     // X & -1 -> X (ignoring bits which aren't demanded).
     ConstantSDNode *AndVal = isConstOrConstSplat(V.getOperand(1));
-    if (AndVal && (AndVal->getAPIntValue() & Mask) == Mask)
+    if (AndVal && Mask.isSubsetOf(AndVal->getAPIntValue()))
       return V.getOperand(0);
     break;
   }