[gcc(refs/users/giulianob/heads/autopar_rebase2)] Remove ad-hoc range canonicalization from determine_block_size.

Giuliano Belinassi giulianob@gcc.gnu.org
Tue Aug 18 01:26:14 GMT 2020


https://gcc.gnu.org/g:9a413698860b489ca0962a0b8e7fad450afdf7e1

commit 9a413698860b489ca0962a0b8e7fad450afdf7e1
Author: Aldy Hernandez <aldyh@redhat.com>
Date:   Tue Aug 4 06:41:03 2020 +0200

    Remove ad-hoc range canonicalization from determine_block_size.
    
    Anti ranges of ~[MIN,X] are automatically canonicalized to [X+1,MAX],
    at creation time.  There is no need to handle them specially.
    
    Tested by adding a gcc_unreachable and bootstrapping/testing.
    
    gcc/ChangeLog:
    
            * builtins.c (determine_block_size): Remove ad-hoc range canonicalization.

Diff:
---
 gcc/builtins.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/gcc/builtins.c b/gcc/builtins.c
index 228db78f32b..beb56e06d8a 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -3287,12 +3287,6 @@ determine_block_size (tree len, rtx len_rtx,
 	}
       else if (range_type == VR_ANTI_RANGE)
 	{
-	  /* Anti range 0...N lets us to determine minimal size to N+1.  */
-	  if (min == 0)
-	    {
-	      if (wi::fits_uhwi_p (max) && max.to_uhwi () + 1 != 0)
-		*min_size = max.to_uhwi () + 1;
-	    }
 	  /* Code like
 
 	     int n;
@@ -3302,7 +3296,7 @@ determine_block_size (tree len, rtx len_rtx,
 	     Produce anti range allowing negative values of N.  We still
 	     can use the information and make a guess that N is not negative.
 	     */
-	  else if (!wi::leu_p (max, 1 << 30) && wi::fits_uhwi_p (min))
+	  if (!wi::leu_p (max, 1 << 30) && wi::fits_uhwi_p (min))
 	    *probable_max_size = min.to_uhwi () - 1;
 	}
     }


More information about the Gcc-cvs mailing list