aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-scalar-evolution.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 21599f4..620cefa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-11 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
+ Give up as soon as the evolution is known not computable.
+
2004-11-11 Nathan Sidwell <nathan@codesourcery.com>
PR target/16457
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 7d97d92..e26f1da 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -1398,6 +1398,11 @@ follow_ssa_edge_in_condition_phi (struct loop *loop,
for (i = 1; i < PHI_NUM_ARGS (condition_phi); i++)
{
+ /* Quickly give up when the evolution of one of the branches is
+ not known. */
+ if (*evolution_of_loop == chrec_dont_know)
+ return true;
+
if (!follow_ssa_edge_in_condition_phi_branch (i, loop, condition_phi,
halting_phi,
&evolution_of_branch,