summaryrefslogtreecommitdiff
path: root/gcc/tree-scalar-evolution.c
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-11 19:25:58 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-11 19:25:58 +0000
commitc44857915cabf9415facd521236faf982c9c0786 (patch)
tree4060f2ebeabfe21384f5159ab7564a73587c8cbc /gcc/tree-scalar-evolution.c
parent8495accb79374dfe513abfef0d3e79b117fb611d (diff)
downloadgcc-c44857915cabf9415facd521236faf982c9c0786.tar.gz
* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
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
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
-rw-r--r--gcc/tree-scalar-evolution.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 7d97d92dce2..e26f1da48db 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,