[llvm] r300876 - [InstCombine] Remove redundant code from SimplifyDemandedBits handling for Or. The code above it is equivalent if you work through the bitwise math.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 20 12:31:22 PDT 2017


Author: ctopper
Date: Thu Apr 20 14:31:22 2017
New Revision: 300876

URL: http://llvm.org/viewvc/llvm-project?rev=300876&view=rev
Log:
[InstCombine] Remove redundant code from SimplifyDemandedBits handling for Or. The code above it is equivalent if you work through the bitwise math.

Modified:
    llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

Modified: llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp?rev=300876&r1=300875&r2=300876&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (original)
+++ llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp Thu Apr 20 14:31:22 2017
@@ -225,15 +225,6 @@ Value *InstCombiner::SimplifyDemandedUse
         (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::SimplifyMultipleUse
         (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;




More information about the llvm-commits mailing list