[gcc r13-3193] Return non-legacy ranges in range.h.
Aldy Hernandez
aldyh@gcc.gnu.org
Mon Oct 10 12:50:43 GMT 2022
https://gcc.gnu.org/g:8b6bcedc88d54415cbc018b3f7fc2bc20dcd4800
commit r13-3193-g8b6bcedc88d54415cbc018b3f7fc2bc20dcd4800
Author: Aldy Hernandez <aldyh@redhat.com>
Date: Mon Oct 10 13:43:56 2022 +0200
Return non-legacy ranges in range.h.
int_range<1> is a legacy range (think anti ranges, legacy VRP, etc).
There is a penalty for converting anything built with <1> to
non-legacy. Since most of the uses of these functions are now ranger,
we can save a miniscule amount of time by converting them to
non-legacy.
gcc/ChangeLog:
* range.h (range_true): Return int_range<2>.
(range_false): Same.
(range_true_and_false): Same.
Diff:
---
gcc/range.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gcc/range.h b/gcc/range.h
index 5c70c66566c..8138d6f5515 100644
--- a/gcc/range.h
+++ b/gcc/range.h
@@ -32,7 +32,7 @@ static inline int_range<1>
range_true (tree type)
{
unsigned prec = TYPE_PRECISION (type);
- return int_range<1> (type, wi::one (prec), wi::one (prec));
+ return int_range<2> (type, wi::one (prec), wi::one (prec));
}
// Return an irange instance that is a boolean FALSE.
@@ -41,7 +41,7 @@ static inline int_range<1>
range_false (tree type)
{
unsigned prec = TYPE_PRECISION (type);
- return int_range<1> (type, wi::zero (prec), wi::zero (prec));
+ return int_range<2> (type, wi::zero (prec), wi::zero (prec));
}
// Return an irange that covers both true and false.
@@ -50,7 +50,7 @@ static inline int_range<1>
range_true_and_false (tree type)
{
unsigned prec = TYPE_PRECISION (type);
- return int_range<1> (type, wi::zero (prec), wi::one (prec));
+ return int_range<2> (type, wi::zero (prec), wi::one (prec));
}
#endif // GCC_RANGE_H
More information about the Gcc-cvs
mailing list