OSDN Git Service

* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Nov 2004 19:25:58 +0000 (19:25 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Nov 2004 19:25:58 +0000 (19:25 +0000)
Give up as soon as the evolution is known not computable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90491 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-scalar-evolution.c

index 21599f4..620cefa 100644 (file)
@@ -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
 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
 
        PR target/16457
index 7d97d92..e26f1da 100644 (file)
@@ -1398,6 +1398,11 @@ follow_ssa_edge_in_condition_phi (struct loop *loop,
 
   for (i = 1; i < PHI_NUM_ARGS (condition_phi); i++)
     {
 
   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,
       if (!follow_ssa_edge_in_condition_phi_branch (i, loop, condition_phi,
                                                    halting_phi,
                                                    &evolution_of_branch,