[CFG] More aggresive constant_iterations
Jan Hubicka
jh@suse.cz
Wed May 29 03:41:00 GMT 2002
>
> Changelog:
> * loop.h (struct loop_desc): Field init replaced by var_alts,
> new field lim_alts.
> * unroll-new.c (variable_initial_values): New static function.
> (count_loop_iterations): Add arguments for explicit values of
> initial and final value.
> (simple_condition_p): Use variable_initial_values.
> (constant_iterations): More aggressive now.
> (simple_loop_exit_p): Use variable_initial_values, dump lim_alts and
> var_alts.
> (test_for_iteration, unroll_loop_runtime_iterations): Modified.
OK,
Looks correct to me, so I will install it. In what testcases this
helps?
Is the gain considerable? Can't we run into very expensive loops (where
we get a lot of alternatives)
Perhaps we can consider base the analysers on the df module, or just
draw somewhere a line of complexity where we don't want to go accross
and declare that rest should be done by loop canonicalization pass
(nonexistent, unforutnately)
Honza
More information about the Gcc-patches
mailing list