From: Simon Pilgrim Date: Wed, 19 Jul 2017 13:39:58 +0000 (+0000) Subject: {DAGCombine] Convert (Val & Mask) == Mask to Mask.isSubsetof(Val). NFCI. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dda2d9fd06ddede3512dcd22e39a99b79499e162;p=llvm {DAGCombine] Convert (Val & Mask) == Mask to Mask.isSubsetof(Val). NFCI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308460 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index d5d3f7a61a9..847d6d8e677 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -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; }