OSDN Git Service

[InstCombine] Remove redundant code from SimplifyDemandedBits handling for Or. The...
authorCraig Topper <craig.topper@gmail.com>
Thu, 20 Apr 2017 19:31:22 +0000 (19:31 +0000)
committerCraig Topper <craig.topper@gmail.com>
Thu, 20 Apr 2017 19:31:22 +0000 (19:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300876 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

index 65acac5..f836484 100644 (file)
@@ -225,15 +225,6 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
         (DemandedMask & ~RHSKnownOne))
       return I->getOperand(1);
 
-    // If all of the potentially set bits on one side are known to be set on
-    // the other side, just use the 'other' side.
-    if ((DemandedMask & (~RHSKnownZero) & LHSKnownOne) ==
-        (DemandedMask & (~RHSKnownZero)))
-      return I->getOperand(0);
-    if ((DemandedMask & (~LHSKnownZero) & RHSKnownOne) ==
-        (DemandedMask & (~LHSKnownZero)))
-      return I->getOperand(1);
-
     // If the RHS is a constant, see if we can simplify it.
     if (ShrinkDemandedConstant(I, 1, DemandedMask))
       return I;
@@ -819,15 +810,6 @@ Value *InstCombiner::SimplifyMultipleUseDemandedBits(Instruction *I,
         (DemandedMask & ~RHSKnownOne))
       return I->getOperand(1);
 
-    // If all of the potentially set bits on one side are known to be set on
-    // the other side, just use the 'other' side.
-    if ((DemandedMask & (~RHSKnownZero) & LHSKnownOne) ==
-        (DemandedMask & (~RHSKnownZero)))
-      return I->getOperand(0);
-    if ((DemandedMask & (~LHSKnownZero) & RHSKnownOne) ==
-        (DemandedMask & (~LHSKnownZero)))
-      return I->getOperand(1);
-
     KnownZero = std::move(IKnownZero);
     KnownOne  = std::move(IKnownOne);
     break;