<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Should be fixed in 58ccbd0<br>
</p>
<div class="moz-cite-prefix">On 4/5/21 8:56 PM, Craig Topper wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAF7ks-O8K8GHhOj5DynxNUFShV30dAc9cNY9hpxQPBrE4dDTRQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">I think the header comments for
getInvertibleOperand need to be updated to match the renamed
arguments?
<div><br clear="all">
<div>
<div dir="ltr" class="gmail_signature"
data-smartmail="gmail_signature">~Craig</div>
</div>
<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Apr 5, 2021 at 6:22 PM
Philip Reames via llvm-commits <<a
href="mailto:llvm-commits@lists.llvm.org"
moz-do-not-send="true">llvm-commits@lists.llvm.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Author: Philip Reames<br>
Date: 2021-04-05T18:22:17-07:00<br>
New Revision: dc8d864e3a91938e11e8aea38bb43c9fdef361bc<br>
<br>
URL: <a
href="https://github.com/llvm/llvm-project/commit/dc8d864e3a91938e11e8aea38bb43c9fdef361bc"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://github.com/llvm/llvm-project/commit/dc8d864e3a91938e11e8aea38bb43c9fdef361bc</a><br>
DIFF: <a
href="https://github.com/llvm/llvm-project/commit/dc8d864e3a91938e11e8aea38bb43c9fdef361bc.diff"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://github.com/llvm/llvm-project/commit/dc8d864e3a91938e11e8aea38bb43c9fdef361bc.diff</a><br>
<br>
LOG: Address minor post commit feedback on 0e59dd<br>
<br>
Added: <br>
<br>
<br>
Modified: <br>
llvm/lib/Analysis/ValueTracking.cpp<br>
<br>
Removed: <br>
<br>
<br>
<br>
################################################################################<br>
diff --git a/llvm/lib/Analysis/ValueTracking.cpp
b/llvm/lib/Analysis/ValueTracking.cpp<br>
index e590f13e3d5b..93c628b66575 100644<br>
--- a/llvm/lib/Analysis/ValueTracking.cpp<br>
+++ b/llvm/lib/Analysis/ValueTracking.cpp<br>
@@ -2543,54 +2543,54 @@ bool isKnownNonZero(const Value* V,
unsigned Depth, const Query& Q) {<br>
/// to exactly one output value. This is equivalent to
saying that O1<br>
/// and O2 are equal exactly when the specified pair of
operands are equal,<br>
/// (except that O1 and O2 may be poison more often.)<br>
-static Optional<unsigned> getInvertibleOperand(const
Operator *O1,<br>
- const Operator
*O2) {<br>
- if (O1->getOpcode() != O2->getOpcode())<br>
+static Optional<unsigned> getInvertibleOperand(const
Operator *Op1,<br>
+ const Operator
*Op2) {<br>
+ if (Op1->getOpcode() != Op2->getOpcode())<br>
return None;<br>
<br>
- switch (O1->getOpcode()) {<br>
+ switch (Op1->getOpcode()) {<br>
default:<br>
break;<br>
case Instruction::Add:<br>
case Instruction::Sub:<br>
- if (O1->getOperand(0) == O2->getOperand(0))<br>
+ if (Op1->getOperand(0) == Op2->getOperand(0))<br>
return 1;<br>
- if (O1->getOperand(1) == O2->getOperand(1))<br>
+ if (Op1->getOperand(1) == Op2->getOperand(1))<br>
return 0;<br>
break;<br>
case Instruction::Mul: {<br>
// invertible if A * B == (A * B) mod 2^N where A, and B
are integers<br>
// and N is the bitwdith. The nsw case is non-obvious,
but proven by<br>
// alive2: <a href="https://alive2.llvm.org/ce/z/Z6D5qK"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://alive2.llvm.org/ce/z/Z6D5qK</a><br>
- auto *OBO1 = cast<OverflowingBinaryOperator>(O1);<br>
- auto *OBO2 = cast<OverflowingBinaryOperator>(O2);<br>
+ auto *OBO1 = cast<OverflowingBinaryOperator>(Op1);<br>
+ auto *OBO2 = cast<OverflowingBinaryOperator>(Op2);<br>
if ((!OBO1->hasNoUnsignedWrap() ||
!OBO2->hasNoUnsignedWrap()) &&<br>
(!OBO1->hasNoSignedWrap() ||
!OBO2->hasNoSignedWrap()))<br>
break;<br>
<br>
// Assume operand order has been canonicalized<br>
- if (O1->getOperand(1) == O2->getOperand(1)
&&<br>
- isa<ConstantInt>(O1->getOperand(1))
&&<br>
-
!cast<ConstantInt>(O1->getOperand(1))->isZero())<br>
+ if (Op1->getOperand(1) == Op2->getOperand(1)
&&<br>
+ isa<ConstantInt>(Op1->getOperand(1))
&&<br>
+
!cast<ConstantInt>(Op1->getOperand(1))->isZero())<br>
return 0;<br>
break;<br>
}<br>
case Instruction::Shl: {<br>
// Same as multiplies, with the <br>
diff erence that we don't need to check<br>
// for a non-zero multiply. Shifts always multiply by
non-zero.<br>
- auto *OBO1 = cast<OverflowingBinaryOperator>(O1);<br>
- auto *OBO2 = cast<OverflowingBinaryOperator>(O2);<br>
+ auto *OBO1 = cast<OverflowingBinaryOperator>(Op1);<br>
+ auto *OBO2 = cast<OverflowingBinaryOperator>(Op2);<br>
if ((!OBO1->hasNoUnsignedWrap() ||
!OBO2->hasNoUnsignedWrap()) &&<br>
(!OBO1->hasNoSignedWrap() ||
!OBO2->hasNoSignedWrap()))<br>
break;<br>
<br>
- if (O1->getOperand(1) == O2->getOperand(1))<br>
+ if (Op1->getOperand(1) == Op2->getOperand(1))<br>
return 0;<br>
break;<br>
}<br>
case Instruction::SExt:<br>
case Instruction::ZExt:<br>
- if (O1->getOperand(0)->getType() ==
O2->getOperand(0)->getType())<br>
+ if (Op1->getOperand(0)->getType() ==
Op2->getOperand(0)->getType())<br>
return 0;<br>
break;<br>
}<br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank"
moz-do-not-send="true">llvm-commits@lists.llvm.org</a><br>
<a
href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits"
rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote>
</div>
</blockquote>
</body>
</html>