Commit 142d1f57 by Zdenek Dvorak Committed by Zdenek Dvorak

cfgloopanal.c (variable_initial_value, [...]): Record the fact that initial…

cfgloopanal.c (variable_initial_value, [...]): Record the fact that initial value is extended from inner mode.

	* 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.

From-SVN: r73275
parent af09332e
2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* 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.
2003-11-05 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
......
......@@ -42,6 +42,9 @@ struct loop_desc
int postincr; /* 1 if increment/decrement is done after loop exit condition. */
rtx stride; /* Value added to VAR in each iteration. */
rtx var; /* Loop control variable. */
enum machine_mode inner_mode;
/* The mode from that it is extended. */
enum rtx_code extend; /* With this extend. */
rtx var_alts; /* List of definitions of its initial value. */
rtx lim; /* Expression var is compared with. */
rtx lim_alts; /* List of definitions of its initial value. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment