aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.cc
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-09-26 09:30:08 +0000
committerGitHub <noreply@github.com>2022-09-26 09:30:08 +0000
commit8ed1bbaa40527c561b25b5dadb963ca404f2da37 (patch)
treeb68241b6d5b2361edc1b6352e503660602c28885 /gcc/tree-data-ref.cc
parent6d98713a7b9cc58573be3e209a27a6c4ce682166 (diff)
parent033a4599350d23d55f5e9a0f9adf497e7f0279e8 (diff)
downloadgcc-8ed1bbaa40527c561b25b5dadb963ca404f2da37.zip
gcc-8ed1bbaa40527c561b25b5dadb963ca404f2da37.tar.gz
gcc-8ed1bbaa40527c561b25b5dadb963ca404f2da37.tar.bz2
Merge #1542
1542: Merge GCC mainline/master into gccrs/master r=philberty a=ibuclaw As per title, pull in the latest and greatest from gcc development. Co-authored-by: Tim Lange <mail@tim-lange.me> Co-authored-by: GCC Administrator <gccadmin@gcc.gnu.org> Co-authored-by: Martin Liska <mliska@suse.cz> Co-authored-by: Javier Miranda <miranda@adacore.com> Co-authored-by: Bob Duff <duff@adacore.com> Co-authored-by: Patrick Bernardi <bernardi@adacore.com> Co-authored-by: Steve Baird <baird@adacore.com> Co-authored-by: Gary Dismukes <dismukes@adacore.com> Co-authored-by: Eric Botcazou <ebotcazou@adacore.com> Co-authored-by: Justin Squirek <squirek@adacore.com> Co-authored-by: Piotr Trojanek <trojanek@adacore.com> Co-authored-by: Joffrey Huguet <huguet@adacore.com> Co-authored-by: Yannick Moy <moy@adacore.com>
Diffstat (limited to 'gcc/tree-data-ref.cc')
-rw-r--r--gcc/tree-data-ref.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/tree-data-ref.cc b/gcc/tree-data-ref.cc
index ff9327f..91bfb619d 100644
--- a/gcc/tree-data-ref.cc
+++ b/gcc/tree-data-ref.cc
@@ -594,7 +594,8 @@ compute_distributive_range (tree type, value_range &op0_range,
if (result_range)
{
range_op_handler op (code, type);
- op.fold_range (*result_range, type, op0_range, op1_range);
+ if (!op.fold_range (*result_range, type, op0_range, op1_range))
+ result_range->set_varying (type);
}
/* The distributive property guarantees that if TYPE is no narrower
@@ -642,7 +643,8 @@ compute_distributive_range (tree type, value_range &op0_range,
range_op_handler op (code, ssizetype);
bool saved_flag_wrapv = flag_wrapv;
flag_wrapv = 1;
- op.fold_range (wide_range, ssizetype, op0_range, op1_range);
+ if (!op.fold_range (wide_range, ssizetype, op0_range, op1_range))
+ wide_range.set_varying (ssizetype);;
flag_wrapv = saved_flag_wrapv;
if (wide_range.num_pairs () != 1 || !range_int_cst_p (&wide_range))
return false;