diff options
author | Cameron McInally <cameron.mcinally@nyu.edu> | 2018-10-25 18:09:33 +0000 |
---|---|---|
committer | Cameron McInally <cameron.mcinally@nyu.edu> | 2018-10-25 18:09:33 +0000 |
commit | 384a74b0e63d847650e10ac7886fdadd44fc431c (patch) | |
tree | 5b9f21624640b03d7a423ebeacb1b3135c38128b /llvm/lib/Transforms | |
parent | 9db06423d1c2744da799a2e118667bf1723843a6 (diff) | |
download | bcm5719-llvm-384a74b0e63d847650e10ac7886fdadd44fc431c.tar.gz bcm5719-llvm-384a74b0e63d847650e10ac7886fdadd44fc431c.zip |
[FPEnv] Last BinaryOperator::isFNeg(...) to m_FNeg(...) changes
Replacing BinaryOperator::isFNeg(...) to avoid regressions when we
separate FNeg from the FSub IR instruction.
Differential Revision: https://reviews.llvm.org/D53650
llvm-svn: 345295
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp index 74f1e695ff6..9fa27d89911 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp @@ -1612,8 +1612,9 @@ Instruction *InstCombiner::visitFPTrunc(FPTruncInst &FPT) { } // (fptrunc (fneg x)) -> (fneg (fptrunc x)) - if (BinaryOperator::isFNeg(OpI)) { - Value *InnerTrunc = Builder.CreateFPTrunc(OpI->getOperand(1), Ty); + Value *X; + if (match(OpI, m_FNeg(m_Value(X)))) { + Value *InnerTrunc = Builder.CreateFPTrunc(X, Ty); return BinaryOperator::CreateFNegFMF(InnerTrunc, OpI); } } |