re PR tree-optimization/70614 (GCC gets stuck with -O)
2016-04-14 Richard Biener <rguenther@suse.de> PR tree-optimization/70614 * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate loop if the evolution dropped to chrec_dont_know. (interpret_condition_phi): Likewise. From-SVN: r234972
This commit is contained in:
parent
6db61d6f39
commit
e21401b6b1
2 changed files with 12 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2016-04-14 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/70614
|
||||
* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
|
||||
loop if the evolution dropped to chrec_dont_know.
|
||||
(interpret_condition_phi): Likewise.
|
||||
|
||||
2016-04-14 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/70623
|
||||
|
|
|
@ -1510,6 +1510,9 @@ analyze_evolution_in_loop (gphi *loop_phi_node,
|
|||
/* When there are multiple back edges of the loop (which in fact never
|
||||
happens currently, but nevertheless), merge their evolutions. */
|
||||
evolution_function = chrec_merge (evolution_function, ev_fn);
|
||||
|
||||
if (evolution_function == chrec_dont_know)
|
||||
break;
|
||||
}
|
||||
|
||||
if (dump_file && (dump_flags & TDF_SCEV))
|
||||
|
@ -1687,6 +1690,8 @@ interpret_condition_phi (struct loop *loop, gphi *condition_phi)
|
|||
(loop, PHI_ARG_DEF (condition_phi, i));
|
||||
|
||||
res = chrec_merge (res, branch_chrec);
|
||||
if (res == chrec_dont_know)
|
||||
break;
|
||||
}
|
||||
|
||||
return res;
|
||||
|
|
Loading…
Add table
Reference in a new issue