From: Aldy Hernandez Date: Tue, 4 Aug 2020 04:41:03 +0000 (+0200) Subject: Remove ad-hoc range canonicalization from determine_block_size. X-Git-Tag: upstream/12.2.0~14427 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f21757eb8fa74ad8a6f64cd7f9137b07f4714e11;p=platform%2Fupstream%2Fgcc.git 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 --git a/gcc/builtins.c b/gcc/builtins.c index 228db78..beb56e0 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; } }