tree-ssa-loop-ivopts.c (strip_offset_1): New case.
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 29 May 2009 19:25:04 +0000 (19:25 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 29 May 2009 19:25:04 +0000 (19:25 +0000)
commit7a2faca1c536095a4e3ae8053037fe16ac0e7a1f
tree2496740da7e93cadcd742ae6fd22de5ca45680d2
parenta0987204c590c4ae170268eb4e17c07925bb456c
tree-ssa-loop-ivopts.c (strip_offset_1): New case.

* tree-ssa-loop-ivopts.c (strip_offset_1) <MULT_EXPR>: New case.
(force_expr_to_var_cost) <NEGATE_EXPR>: Likewise.
(ptr_difference_cost): Use affine combinations to compute it.
(difference_cost): Likewise.
(get_computation_cost_at): Compute more accurate cost for addresses
if the ratio is a multiplier allowed in addresses.
For non-addresses, consider that an additional offset or symbol is
added only once.

From-SVN: r147983
gcc/ChangeLog
gcc/tree-ssa-loop-ivopts.c