OSDN Git Service

* tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Nov 2004 20:49:55 +0000 (20:49 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Nov 2004 20:49:55 +0000 (20:49 +0000)
commiteb91f88e98bb0d3fe37ca0e3dc3b2c971c3b2ea0
tree74c265b69ab975f9fd5932220b599547ade0412e
parent6cf06ccde6dfe5c6a525a16bacaafca12242a9ca
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90451 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/tree-ssa-loop-ivopts.c