diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-06-14 21:01:20 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-06-14 21:01:20 +0000 |
| commit | 228680ded8bbd04dd179e953843f86c44e982448 (patch) | |
| tree | f490bd34b83c56a43c68bd445c26214caddb0296 /llvm/lib | |
| parent | 4f0524614e664c56cc4a516439022af87c543247 (diff) | |
| download | bcm5719-llvm-228680ded8bbd04dd179e953843f86c44e982448.tar.gz bcm5719-llvm-228680ded8bbd04dd179e953843f86c44e982448.zip | |
[InstSimplify] fsub nnan x, x -> 0.0 is valid without ninf
Both inf - inf and (-inf) - (-inf) are NaN, so it's already covered by
nnan.
llvm-svn: 239702
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Analysis/InstructionSimplify.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp index 5e3b415a2a6..8f7a940aa95 100644 --- a/llvm/lib/Analysis/InstructionSimplify.cpp +++ b/llvm/lib/Analysis/InstructionSimplify.cpp @@ -854,8 +854,8 @@ static Value *SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF, return X; } - // fsub nnan ninf x, x ==> 0.0 - if (FMF.noNaNs() && FMF.noInfs() && Op0 == Op1) + // fsub nnan x, x ==> 0.0 + if (FMF.noNaNs() && Op0 == Op1) return Constant::getNullValue(Op0->getType()); return nullptr; |

