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 | bb6f691b01310ee83ea985e5116ec0923d5cc42d (patch) | |
| tree | e699c49725c216b59cf3e1665c0ed57fddd6d6e9 /llvm/lib/Object/ObjectFile.cpp | |
| parent | 5cd69b4ce3b752c01e6111c21ad7251669552494 (diff) | |
| download | bcm5719-llvm-bb6f691b01310ee83ea985e5116ec0923d5cc42d.tar.gz bcm5719-llvm-bb6f691b01310ee83ea985e5116ec0923d5cc42d.zip | |
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
llvm-svn: 169940
Diffstat (limited to 'llvm/lib/Object/ObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions

