diff options
author | Michael Ilseman <milseman@apple.com> | 2012-12-12 00:27:46 +0000 |
---|---|---|
committer | Michael Ilseman <milseman@apple.com> | 2012-12-12 00:27:46 +0000 |
commit | 09ee250e728ccdb7afc6354d777f8319c5a0465c (patch) | |
tree | 41e7a8c97d5b62f99aff6058bac1248ee5defb66 /lib/Transforms/InstCombine/InstCombineAddSub.cpp | |
parent | 1d4b1507045075273cb301efec8722b961b78c22 (diff) |
Added a slew of SimplifyInstruction floating-point optimizations, many of which take advantage of fast-math flags. Test cases included.
fsub X, +0 ==> X
fsub X, -0 ==> X, when we know X is not -0
fsub +/-0.0, (fsub -0.0, X) ==> X
fsub nsz +/-0.0, (fsub +/-0.0, X) ==> X
fsub nnan ninf X, X ==> 0.0
fadd nsz X, 0 ==> X
fadd [nnan ninf] X, (fsub [nnan ninf] 0, X) ==> 0
where nnan and ninf have to occur at least once somewhere in this expression
fmul X, 1.0 ==> X
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169940 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/InstCombine/InstCombineAddSub.cpp')
0 files changed, 0 insertions, 0 deletions