When niter may be zero, return a COND_EXPR with the may_be_zero condition.
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 May 2010 18:42:15 +0000 (18:42 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 May 2010 18:42:15 +0000 (18:42 +0000)
commit134c053efb725c8dfa8238c3329ea0439f96df09
treefd9dab29f46e485b9afc38a2e968d2b4f9bb77eb
parent9fc1b63766a4be0cffd236a2c7ce7e4e2af5d8a7
When niter may be zero, return a COND_EXPR with the may_be_zero condition.

2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>

* tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
only place it was called from.
(number_of_latch_executions): Do not return chrec_dont_know when the
may_be_zero is a runtime condition: instead, return a COND_EXPR
including the may_be_zero condition.
* cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
of nb_iterations.
* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
COND_EXPRs.

* gcc.dg/vect/vect-outer-fir-lb.c: Un-XFAIL-ed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159992 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cfgloop.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb.c
gcc/tree-scalar-evolution.c
gcc/tree-ssa-loop-ivopts.c