diff options
author | Zdenek Dvorak <ook@ucw.cz> | 2008-01-26 23:44:19 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2008-01-26 22:44:19 +0000 |
commit | 6e8c65f6621fb00e9008056c7e81860f2e96284c (patch) | |
tree | 30387dd4a3df50203ec75e44d117a5789e7adce1 /gcc/tree-flow.h | |
parent | 2c80cb0ef7df9e250a0a7826a4414d0895c65027 (diff) | |
download | gcc-6e8c65f6621fb00e9008056c7e81860f2e96284c.zip gcc-6e8c65f6621fb00e9008056c7e81860f2e96284c.tar.gz gcc-6e8c65f6621fb00e9008056c7e81860f2e96284c.tar.bz2 |
re PR target/34711 (g++.dg/tree-ssa/ivopts-1.C fails for power and arm)
PR target/34711
* tree-ssa-loop-ivopts.c (comp_cost): New type.
(zero_cost, infinite_cost): New constants.
(struct cost_pair): Change type of cost to comp_cost.
(struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
(new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
New functions.
(set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
split_address_cost, ptr_difference_cost, difference_cost,
get_computation_cost_at, get_computation_cost,
determine_use_iv_cost_generic, determine_use_iv_cost_address,
determine_use_iv_cost_condition, determine_use_iv_costs,
cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
Change type of cost to comp_cost.
(determine_iv_cost): Increase cost of non-original ivs, instead
of decreasing the cost of original ones.
(get_address_cost): Indicate the complexity of the addressing mode
in comp_cost.
(try_add_cand_for): Prefer using ivs not specific to some object.
* tree-flow.h (force_expr_to_var_cost): Declaration removed.
From-SVN: r131877
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index a96f8b2..adc2508 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -1013,7 +1013,6 @@ bool for_each_index (tree *, bool (*) (tree, tree *, void *), void *); void create_iv (tree, tree, tree, struct loop *, block_stmt_iterator *, bool, tree *, tree *); basic_block split_loop_exit_edge (edge); -unsigned force_expr_to_var_cost (tree); void standard_iv_increment_position (struct loop *, block_stmt_iterator *, bool *); basic_block ip_end_pos (struct loop *); |