From 99733f04063263f9c4ff54fe9d1c7484dafc3adc Mon Sep 17 00:00:00 2001 From: Cameron McInally Date: Mon, 20 May 2019 21:00:42 +0000 Subject: [PATCH] [NFC][InstCombine] Add FIXME for one-use check on constant negation transforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361197 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/InstCombine/InstCombineAddSub.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Transforms/InstCombine/InstCombineAddSub.cpp b/lib/Transforms/InstCombine/InstCombineAddSub.cpp index 421d49fdcb7..2d608e74b69 100644 --- a/lib/Transforms/InstCombine/InstCombineAddSub.cpp +++ b/lib/Transforms/InstCombine/InstCombineAddSub.cpp @@ -1830,6 +1830,8 @@ static Instruction *foldFNegIntoConstant(Instruction &I) { // Fold negation into constant operand. This is limited with one-use because // fneg is assumed better for analysis and cheaper in codegen than fmul/fdiv. // -(X * C) --> X * (-C) + // FIXME: It's arguable whether these should be m_OneUse or not. The current + // belief is that the FNeg allows for better reassociation opportunities. if (match(&I, m_FNeg(m_OneUse(m_FMul(m_Value(X), m_Constant(C)))))) return BinaryOperator::CreateFMulFMF(X, ConstantExpr::getFNeg(C), &I); // -(X / C) --> X / (-C) -- 2.50.1