tree-ssa-loop-ivopts.c (get_loop_invariant_expr): Simplify.
authorBin Cheng <bin.cheng@arm.com>
Thu, 11 May 2017 09:31:18 +0000 (09:31 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Thu, 11 May 2017 09:31:18 +0000 (09:31 +0000)
commitf9f69dd651b2f1031761312cc3d13aee40b46b5e
treeca6f5d5c55bf0be1634609720d990bd617133b7d
parentc2b64ceab2ae2e0b86271248a5c31690a1604984
tree-ssa-loop-ivopts.c (get_loop_invariant_expr): Simplify.

* tree-ssa-loop-ivopts.c (get_loop_invariant_expr): Simplify.
(adjust_setup_cost): New parameter supporting round up adjustment.
(struct address_cost_data): Delete.
(force_expr_to_var_cost): Don't bound cost with spill_cost.
(split_address_cost, ptr_difference_cost): Delete.
(difference_cost, compare_aff_trees, record_inv_expr): Delete.
(struct ainc_cost_data): New struct.
(get_address_cost_ainc): New function.
(get_address_cost, get_computation_cost): Reimplement.
(determine_group_iv_cost_address): Record inv_expr for all uses of
a group.
(determine_group_iv_cost_cond): Call get_loop_invariant_expr.
(iv_ca_has_deps): Reimplemented to ...
(iv_ca_more_deps): ... this.  Check if NEW_CP introduces more deps
than OLD_CP.
(iv_ca_extend): Call iv_ca_more_deps.

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