On 05/17/2011 09:20 AM, Tom de Vries wrote: > On 05/17/2011 09:10 AM, Tom de Vries wrote: >> Hi Zdenek, >> >> I have a patch set for for PR45098. >> >> 01_object-size-target.patch >> 02_pr45098-rtx-cost-set.patch >> 03_pr45098-computation-cost.patch >> 04_pr45098-iv-init-cost.patch >> 05_pr45098-bound-cost.patch >> 06_pr45098-bound-cost.test.patch >> 07_pr45098-nowrap-limits-iterations.patch >> 08_pr45098-nowrap-limits-iterations.test.patch >> 09_pr45098-shift-add-cost.patch >> 10_pr45098-shift-add-cost.test.patch >> >> I will sent out the patches individually. >> > > OK for trunk? > > Thanks, > - Tom Resubmitting with comment. This patch attemps to estimate the number of iterations of the loop based on nonwrapping arithmetic in the loop body. 2011-05-05 Tom de Vries PR target/45098 * tree-ssa-loop-ivopts.c (struct ivopts_data): Add fields max_iterations_p and max_iterations. (is_nonwrap_use, max_loop_iterations, set_max_iterations): New function. (may_eliminate_iv): Use max_iterations_p and max_iterations. (tree_ssa_iv_optimize_loop): Use set_max_iterations.