@@ -662,16 +662,6 @@ static void computeKnownBitsFromCmp(const Value *V, const ICmpInst *Cmp,
662
662
// known bits from the RHS to V.
663
663
Known.Zero |= RHSKnown.Zero & MaskKnown.One ;
664
664
Known.One |= RHSKnown.One & MaskKnown.One ;
665
- // assume(~(v & b) = a)
666
- } else if (match (Cmp, m_c_ICmp (Pred, m_Not (m_c_And (m_V, m_Value (B))),
667
- m_Value (A)))) {
668
- KnownBits RHSKnown = computeKnownBits (A, Depth + 1 , QueryNoAC);
669
- KnownBits MaskKnown = computeKnownBits (B, Depth + 1 , QueryNoAC);
670
-
671
- // For those bits in the mask that are known to be one, we can propagate
672
- // inverted known bits from the RHS to V.
673
- Known.Zero |= RHSKnown.One & MaskKnown.One ;
674
- Known.One |= RHSKnown.Zero & MaskKnown.One ;
675
665
// assume(v | b = a)
676
666
} else if (match (Cmp,
677
667
m_c_ICmp (Pred, m_c_Or (m_V, m_Value (B)), m_Value (A)))) {
@@ -682,16 +672,6 @@ static void computeKnownBitsFromCmp(const Value *V, const ICmpInst *Cmp,
682
672
// bits from the RHS to V.
683
673
Known.Zero |= RHSKnown.Zero & BKnown.Zero ;
684
674
Known.One |= RHSKnown.One & BKnown.Zero ;
685
- // assume(~(v | b) = a)
686
- } else if (match (Cmp, m_c_ICmp (Pred, m_Not (m_c_Or (m_V, m_Value (B))),
687
- m_Value (A)))) {
688
- KnownBits RHSKnown = computeKnownBits (A, Depth + 1 , QueryNoAC);
689
- KnownBits BKnown = computeKnownBits (B, Depth + 1 , QueryNoAC);
690
-
691
- // For those bits in B that are known to be zero, we can propagate
692
- // inverted known bits from the RHS to V.
693
- Known.Zero |= RHSKnown.One & BKnown.Zero ;
694
- Known.One |= RHSKnown.Zero & BKnown.Zero ;
695
675
// assume(v ^ b = a)
696
676
} else if (match (Cmp,
697
677
m_c_ICmp (Pred, m_c_Xor (m_V, m_Value (B)), m_Value (A)))) {
@@ -705,19 +685,6 @@ static void computeKnownBitsFromCmp(const Value *V, const ICmpInst *Cmp,
705
685
Known.One |= RHSKnown.One & BKnown.Zero ;
706
686
Known.Zero |= RHSKnown.One & BKnown.One ;
707
687
Known.One |= RHSKnown.Zero & BKnown.One ;
708
- // assume(~(v ^ b) = a)
709
- } else if (match (Cmp, m_c_ICmp (Pred, m_Not (m_c_Xor (m_V, m_Value (B))),
710
- m_Value (A)))) {
711
- KnownBits RHSKnown = computeKnownBits (A, Depth + 1 , QueryNoAC);
712
- KnownBits BKnown = computeKnownBits (B, Depth + 1 , QueryNoAC);
713
-
714
- // For those bits in B that are known to be zero, we can propagate
715
- // inverted known bits from the RHS to V. For those bits in B that are
716
- // known to be one, we can propagate known bits from the RHS to V.
717
- Known.Zero |= RHSKnown.One & BKnown.Zero ;
718
- Known.One |= RHSKnown.Zero & BKnown.Zero ;
719
- Known.Zero |= RHSKnown.Zero & BKnown.One ;
720
- Known.One |= RHSKnown.One & BKnown.One ;
721
688
// assume(v << c = a)
722
689
} else if (match (Cmp, m_c_ICmp (Pred, m_Shl (m_V, m_ConstantInt (C)),
723
690
m_Value (A))) &&
@@ -729,17 +696,6 @@ static void computeKnownBitsFromCmp(const Value *V, const ICmpInst *Cmp,
729
696
RHSKnown.Zero .lshrInPlace (C);
730
697
RHSKnown.One .lshrInPlace (C);
731
698
Known = Known.unionWith (RHSKnown);
732
- // assume(~(v << c) = a)
733
- } else if (match (Cmp, m_c_ICmp (Pred, m_Not (m_Shl (m_V, m_ConstantInt (C))),
734
- m_Value (A))) &&
735
- C < BitWidth) {
736
- KnownBits RHSKnown = computeKnownBits (A, Depth + 1 , QueryNoAC);
737
- // For those bits in RHS that are known, we can propagate them inverted
738
- // to known bits in V shifted to the right by C.
739
- RHSKnown.One .lshrInPlace (C);
740
- Known.Zero |= RHSKnown.One ;
741
- RHSKnown.Zero .lshrInPlace (C);
742
- Known.One |= RHSKnown.Zero ;
743
699
// assume(v >> c = a)
744
700
} else if (match (Cmp, m_c_ICmp (Pred, m_Shr (m_V, m_ConstantInt (C)),
745
701
m_Value (A))) &&
@@ -749,15 +705,6 @@ static void computeKnownBitsFromCmp(const Value *V, const ICmpInst *Cmp,
749
705
// bits in V shifted to the right by C.
750
706
Known.Zero |= RHSKnown.Zero << C;
751
707
Known.One |= RHSKnown.One << C;
752
- // assume(~(v >> c) = a)
753
- } else if (match (Cmp, m_c_ICmp (Pred, m_Not (m_Shr (m_V, m_ConstantInt (C))),
754
- m_Value (A))) &&
755
- C < BitWidth) {
756
- KnownBits RHSKnown = computeKnownBits (A, Depth + 1 , QueryNoAC);
757
- // For those bits in RHS that are known, we can propagate them inverted
758
- // to known bits in V shifted to the right by C.
759
- Known.Zero |= RHSKnown.One << C;
760
- Known.One |= RHSKnown.Zero << C;
761
708
}
762
709
break ;
763
710
case ICmpInst::ICMP_NE: {
0 commit comments