summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2011-01-10 00:33:01 +0000
committerChris Lattner <sabre@nondot.org>2011-01-10 00:33:01 +0000
commiteef145502092fb0796c827cc4b0abf9d2c5e7c07 (patch)
treed8f6c7ccaafa53781997b2cdb7339ce724c44b3f /llvm/lib
parent1017fa674655c263332a5e7c259ef5f313cf0596 (diff)
downloadbcm5719-llvm-eef145502092fb0796c827cc4b0abf9d2c5e7c07.tar.gz
bcm5719-llvm-eef145502092fb0796c827cc4b0abf9d2c5e7c07.zip
expand on a note
llvm-svn: 123145
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/README.txt13
1 files changed, 9 insertions, 4 deletions
diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt
index e000a9d3966..4032c333f76 100644
--- a/llvm/lib/Target/README.txt
+++ b/llvm/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.
//===---------------------------------------------------------------------===//
OpenPOWER on IntegriCloud