[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