aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine/InstCombineAddSub.cpp
diff options
context:
space:
mode:
authorMichael Ilseman <milseman@apple.com>2012-12-12 00:27:46 +0000
committerMichael Ilseman <milseman@apple.com>2012-12-12 00:27:46 +0000
commit09ee250e728ccdb7afc6354d777f8319c5a0465c (patch)
tree41e7a8c97d5b62f99aff6058bac1248ee5defb66 /lib/Transforms/InstCombine/InstCombineAddSub.cpp
parent1d4b1507045075273cb301efec8722b961b78c22 (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