OSDN Git Service

* cfgloopanal.c (variable_initial_value, variable_initial_values,
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 2003 18:10:44 +0000 (18:10 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 2003 18:10:44 +0000 (18:10 +0000)
commitdebeee984b45cc53cf9d72c68e5879cdca6eed72
tree2803ac7a2623225480a95038c4747be2ab3b5082
parenteda0b26048e5b34b3e768a287468d0816fc606f2
* cfgloopanal.c (variable_initial_value, variable_initial_values,
simple_loop_exit_p): Record the fact that initial value is extended
from inner mode.
(count_strange_loop_iterations, count_loop_iterations): Handle
ivs that iterate in a narrower mode. Fix handling of overflows.
Improve handling of NE conditions.
(inverse, fits_in_mode_p): New static functions.
(simple_increment): Detect variables that iterate in a narrower mode.
* cfgloop.h (struct loop_desc): Fields inner_mode and extend added.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73275 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cfgloop.h
gcc/cfgloopanal.c