diff options
author | Sebastian Pop <pop@cri.ensmp.fr> | 2004-11-11 20:25:58 +0100 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2004-11-11 19:25:58 +0000 |
commit | e0afb98af7dafb0bb088cd57d168d95542fdbf6b (patch) | |
tree | 4060f2ebeabfe21384f5159ab7564a73587c8cbc /gcc/tree-scalar-evolution.c | |
parent | 46d1d0daeccf191b78662548cf4de07ccf387d02 (diff) | |
download | gcc-e0afb98af7dafb0bb088cd57d168d95542fdbf6b.tar.gz |
tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi): Give up as soon as the evolution is known not computable.
* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
Give up as soon as the evolution is known not computable.
From-SVN: r90491
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
-rw-r--r-- | gcc/tree-scalar-evolution.c | 5 |
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, |