tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in right order.
authorZdenek Dvorak <dvorakz@suse.cz>
Wed, 10 Nov 2004 20:49:55 +0000 (21:49 +0100)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Wed, 10 Nov 2004 20:49:55 +0000 (20:49 +0000)
commit7299dbfbf14f76336d18706df4e90c1ba167b4ae
tree74c265b69ab975f9fd5932220b599547ade0412e
parent9665466484bfb8035acf80f73d5d2449060b47e7
tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in right order.

* tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
right order.
(force_var_cost): Determine cost of addition and multiplication more
precisely.
(get_computation_cost_at): Add cost for computing address elements to
the final cost.

* fold-const.c (fold): Attempt to use ptr_difference_const whenever
one of the arguments of MINUS_EXPR is an address.
(split_address_to_core_and_offset): New function.
(ptr_difference_const): Handle case when one of the operands is a
pointer.
* tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
(ptr_difference_cost): Pass addresses instead of objects to
ptr_difference_const.

From-SVN: r90451
gcc/ChangeLog
gcc/fold-const.c
gcc/tree-ssa-loop-ivopts.c