[PATCH] D157313: [ValueTracking] Check likely to be canonicalized constant operands first in ; NFC
Noah Goldstein via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 7 10:55:42 PDT 2023
goldstein.w.n created this revision.
goldstein.w.n added reviewers: nikic, Allen.
Herald added subscribers: StephenFan, hiraditya.
Herald added a project: All.
goldstein.w.n requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D157313
Files:
llvm/lib/Analysis/ValueTracking.cpp
Index: llvm/lib/Analysis/ValueTracking.cpp
===================================================================
--- llvm/lib/Analysis/ValueTracking.cpp
+++ llvm/lib/Analysis/ValueTracking.cpp
@@ -2064,8 +2064,8 @@
case Instruction::And:
// A power of two and'd with anything is a power of two or zero.
if (OrZero &&
- (isKnownToBeAPowerOfTwo(I->getOperand(0), /*OrZero*/ true, Depth, Q) ||
- isKnownToBeAPowerOfTwo(I->getOperand(1), /*OrZero*/ true, Depth, Q)))
+ (isKnownToBeAPowerOfTwo(I->getOperand(1), /*OrZero*/ true, Depth, Q) ||
+ isKnownToBeAPowerOfTwo(I->getOperand(0), /*OrZero*/ true, Depth, Q)))
return true;
// X & (-X) is always a power of two or zero.
if (match(I->getOperand(0), m_Neg(m_Specific(I->getOperand(1)))) ||
@@ -2105,8 +2105,8 @@
return false;
}
case Instruction::Select:
- return isKnownToBeAPowerOfTwo(I->getOperand(1), OrZero, Depth, Q) &&
- isKnownToBeAPowerOfTwo(I->getOperand(2), OrZero, Depth, Q);
+ return isKnownToBeAPowerOfTwo(I->getOperand(2), OrZero, Depth, Q) &&
+ isKnownToBeAPowerOfTwo(I->getOperand(1), OrZero, Depth, Q);
case Instruction::PHI: {
// A PHI node is power of two if all incoming values are power of two, or if
// it is an induction variable where in each step its value is a power of
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D157313.547863.patch
Type: text/x-patch
Size: 1350 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230807/138a5943/attachment.bin>
More information about the llvm-commits
mailing list