public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-2761] [PR106967] Set known NANs to undefined for flag_finite_math_only.
@ 2022-09-21 11:33 Aldy Hernandez
0 siblings, 0 replies; only message in thread
From: Aldy Hernandez @ 2022-09-21 11:33 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:dc829c7613ddf562d1aecaf22eda965e87108ac8
commit r13-2761-gdc829c7613ddf562d1aecaf22eda965e87108ac8
Author: Aldy Hernandez <aldyh@redhat.com>
Date: Wed Sep 21 11:18:48 2022 +0200
[PR106967] Set known NANs to undefined for flag_finite_math_only.
Explicit NANs in the IL can be treated as undefined for
flag_finite_math_only. This causes all the right things to happen wrt
threading, folding, etc. It also saves us special casing throughout.
PR tree-optimization/106967
gcc/ChangeLog:
* value-range.cc (frange::set): Set known NANs to undefined for
flag_finite_math_only.
Diff:
---
gcc/value-range.cc | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index 505eb9211a7..7e8028eced2 100644
--- a/gcc/value-range.cc
+++ b/gcc/value-range.cc
@@ -313,8 +313,13 @@ frange::set (tree min, tree max, value_range_kind kind)
gcc_checking_assert (real_identical (TREE_REAL_CST_PTR (min),
TREE_REAL_CST_PTR (max)));
tree type = TREE_TYPE (min);
- bool sign = real_isneg (TREE_REAL_CST_PTR (min));
- set_nan (type, sign);
+ if (HONOR_NANS (type))
+ {
+ bool sign = real_isneg (TREE_REAL_CST_PTR (min));
+ set_nan (type, sign);
+ }
+ else
+ set_undefined ();
return;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-09-21 11:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-21 11:33 [gcc r13-2761] [PR106967] Set known NANs to undefined for flag_finite_math_only Aldy Hernandez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).