https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90726
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Tue Jun 4 09:05:10 2019 New Revision: 271903 URL: https://gcc.gnu.org/viewcvs?rev=271903&root=gcc&view=rev Log: 2019-06-04 Richard Biener <rguent...@suse.de> PR middle-end/90726 * tree-chrec.c (chrec_contains_symbols): Add to visited. (tree_contains_chrecs): Likewise. (chrec_contains_symbols_defined_in_loop): Move here and avoid exponential behaivor from ... * tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop): ... here. (expression_expensive_p): Avoid exponential behavior and compute expanded size, rejecting any expansion. * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): Remove. (idx_contains_abnormal_ssa_name_p): Likewise. (contains_abnormal_ssa_name_p_1): New helper for walk_tree. (contains_abnormal_ssa_name_p): Simplify and use walk_tree_without_duplicates. * gcc.dg/pr90726.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/pr90726.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-chrec.c trunk/gcc/tree-scalar-evolution.c trunk/gcc/tree-ssa-loop-ivopts.c