mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-13 06:06:48 +08:00
re PR middle-end/38729 (long time needed in tree canonical iv)
2009-06-21 Richard Guenther <rguenther@suse.de> PR tree-optimization/38729 * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Restrict to loops with a single exit if -fno-expensive-optimizations. From-SVN: r148761
This commit is contained in:
parent
d24686d79d
commit
2cee15096c
@ -1,3 +1,9 @@
|
||||
2009-06-21 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/38729
|
||||
* tree-ssa-loop-niter.c (find_loop_niter_by_eval): Restrict
|
||||
to loops with a single exit if -fno-expensive-optimizations.
|
||||
|
||||
2009-06-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* var-tracking.c (struct shared_hash_def, shared_hash): New types.
|
||||
|
@ -2254,6 +2254,12 @@ find_loop_niter_by_eval (struct loop *loop, edge *exit)
|
||||
tree niter = NULL_TREE, aniter;
|
||||
|
||||
*exit = NULL;
|
||||
|
||||
/* Loops with multiple exits are expensive to handle and less important. */
|
||||
if (!flag_expensive_optimizations
|
||||
&& VEC_length (edge, exits) > 1)
|
||||
return chrec_dont_know;
|
||||
|
||||
for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
|
||||
{
|
||||
if (!just_once_each_iteration_p (loop, ex->src))
|
||||
|
Loading…
Reference in New Issue
Block a user