From: Aldy Hernandez Date: Tue, 21 Sep 2021 06:28:28 +0000 (+0200) Subject: Do not query SCEV in range_of_phi unless dominators are available. X-Git-Tag: basepoints/gcc-13~4555 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=64b80b8819f9ea74712625bceb0ec4388e25f67d;p=thirdparty%2Fgcc.git Do not query SCEV in range_of_phi unless dominators are available. SCEV won't work without dominators and we can get called without dominators from debug_ranger. Another option would be to rename scev_initialized_p to something like scev_available_p and move the check there. For now, this will do. gcc/ChangeLog: * gimple-range-fold.cc (fold_using_range::range_of_phi): Check dom_info_available_p. --- diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc index 80cc5c0dc0cf..770a6c9b4da1 100644 --- a/gcc/gimple-range-fold.cc +++ b/gcc/gimple-range-fold.cc @@ -814,7 +814,9 @@ fold_using_range::range_of_phi (irange &r, gphi *phi, fur_source &src) } // If SCEV is available, query if this PHI has any knonwn values. - if (scev_initialized_p () && !POINTER_TYPE_P (TREE_TYPE (phi_def))) + if (dom_info_available_p (CDI_DOMINATORS) + && scev_initialized_p () + && !POINTER_TYPE_P (TREE_TYPE (phi_def))) { value_range loop_range; class loop *l = loop_containing_stmt (phi);