Skip to content

Commit 837bf32

Browse files
authored
[ValueTracking] Remove unused V ^ Mask == C from computeKnownBitsFromCmp. NFCI. (#125666)
I believe it is unused since we always convert it into `V == Mask ^ C`. Code coverage: https://dtcxzyw.github.io/llvm-opt-benchmark/coverage/data/zyw/opt-ci/actions-runner/_work/llvm-opt-benchmark/llvm-opt-benchmark/llvm/llvm-project/llvm/lib/Analysis/ValueTracking.cpp.html#L706
1 parent bbc90f8 commit 837bf32

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

llvm/lib/Analysis/ValueTracking.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -702,11 +702,6 @@ static void computeKnownBitsFromCmp(const Value *V, CmpInst::Predicate Pred,
702702
Known.Zero |= ~*C;
703703
if (match(Y, m_APInt(Mask)))
704704
Known.One |= *C & ~*Mask;
705-
// assume(V ^ Mask = C)
706-
} else if (match(LHS, m_Xor(m_V, m_APInt(Mask))) &&
707-
match(RHS, m_APInt(C))) {
708-
// Equivalent to assume(V == Mask ^ C)
709-
Known = Known.unionWith(KnownBits::makeConstant(*C ^ *Mask));
710705
// assume(V << ShAmt = C)
711706
} else if (match(LHS, m_Shl(m_V, m_ConstantInt(ShAmt))) &&
712707
match(RHS, m_APInt(C)) && ShAmt < BitWidth) {
@@ -10217,10 +10212,9 @@ void llvm::findValuesAffectedByCondition(
1021710212
if (ICmpInst::isEquality(Pred)) {
1021810213
if (HasRHSC) {
1021910214
Value *Y;
10220-
// (X & C) or (X | C) or (X ^ C).
10215+
// (X & C) or (X | C).
1022110216
// (X << C) or (X >>_s C) or (X >>_u C).
10222-
if (match(A, m_BitwiseLogic(m_Value(X), m_ConstantInt())) ||
10223-
match(A, m_Shift(m_Value(X), m_ConstantInt())))
10217+
if (match(A, m_Shift(m_Value(X), m_ConstantInt())))
1022410218
AddAffected(X);
1022510219
else if (match(A, m_And(m_Value(X), m_Value(Y))) ||
1022610220
match(A, m_Or(m_Value(X), m_Value(Y)))) {

0 commit comments

Comments
 (0)