summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine
diff options
context:
space:
mode:
authorCameron McInally <cameron.mcinally@nyu.edu>2018-10-25 18:09:33 +0000
committerCameron McInally <cameron.mcinally@nyu.edu>2018-10-25 18:09:33 +0000
commit384a74b0e63d847650e10ac7886fdadd44fc431c (patch)
tree5b9f21624640b03d7a423ebeacb1b3135c38128b /llvm/lib/Transforms/InstCombine
parent9db06423d1c2744da799a2e118667bf1723843a6 (diff)
downloadbcm5719-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/InstCombine')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp5
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);
}
}
OpenPOWER on IntegriCloud