diff options
author | Chris Lattner <sabre@nondot.org> | 2011-01-10 00:33:01 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2011-01-10 00:33:01 +0000 |
commit | 00a35d0f1418995325c0567915cdd85f2bf9139b (patch) | |
tree | 9b54928de693da8a3dcf2279b0abc4d1e3d8a94f /lib/Target/README.txt | |
parent | d8408270f30273df2f04a8eca3e749bd0d22a2fd (diff) | |
download | llvm-00a35d0f1418995325c0567915cdd85f2bf9139b.tar.gz llvm-00a35d0f1418995325c0567915cdd85f2bf9139b.tar.bz2 llvm-00a35d0f1418995325c0567915cdd85f2bf9139b.tar.xz |
expand on a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123145 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r-- | lib/Target/README.txt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index e000a9d396..4032c333f7 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -2247,10 +2247,15 @@ entry: ret double %mul } -We should be able to fold away this fmul to a constant, there is no 32-bit -integer which after sitofp will generate a NaN, inf, or -0.0. We should fold -this whenever the floating point type has enough exponent bits to represent -the largest integer value as < inf. +We should be able to fold away this fmul to 0.0. More generally, fmul(x,0.0) +can be folded to 0.0 if we can prove that the LHS is not -0.0, not a NaN, and +not an INF. The CannotBeNegativeZero predicate in value tracking should be +extended to support general "fpclassify" operations that can return +yes/no/unknown for each of these predicates. + +In this predicate, we know that [us]itofp is trivially never NaN or -0.0, and +we know that it isn't +/-Inf if the floating point type has enough exponent bits +to represent the largest integer value as < inf. //===---------------------------------------------------------------------===// |