[llvm] r305510 - [InstCombine] Add two FIXMEs for bad single use checks. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 15 14:38:48 PDT 2017
Author: ctopper
Date: Thu Jun 15 16:38:48 2017
New Revision: 305510
URL: http://llvm.org/viewvc/llvm-project?rev=305510&view=rev
Log:
[InstCombine] Add two FIXMEs for bad single use checks. NFC
Modified:
llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Modified: llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp?rev=305510&r1=305509&r2=305510&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (original)
+++ llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp Thu Jun 15 16:38:48 2017
@@ -2111,12 +2111,16 @@ Instruction *InstCombiner::visitOr(Binar
}
// (A ^ B) | ((B ^ C) ^ A) -> (A ^ B) | C
+ // FIXME: The two hasOneUse calls here are the same call, maybe we were
+ // supposed to check Op1->operand(0)?
if (match(Op0, m_Xor(m_Value(A), m_Value(B))))
if (match(Op1, m_Xor(m_Xor(m_Specific(B), m_Value(C)), m_Specific(A))))
if (Op1->hasOneUse() || cast<BinaryOperator>(Op1)->hasOneUse())
return BinaryOperator::CreateOr(Op0, C);
// ((A ^ C) ^ B) | (B ^ A) -> (B ^ A) | C
+ // FIXME: The two hasOneUse calls here are the same call, maybe we were
+ // supposed to check Op0->operand(0)?
if (match(Op0, m_Xor(m_Xor(m_Value(A), m_Value(C)), m_Value(B))))
if (match(Op1, m_Xor(m_Specific(B), m_Specific(A))))
if (Op0->hasOneUse() || cast<BinaryOperator>(Op0)->hasOneUse())
More information about the llvm-commits
mailing list