Makefile.in (tree-ssa-loop-ivopts.o): Add sbitmap.h dependency.
* Makefile.in (tree-ssa-loop-ivopts.o): Add sbitmap.h dependency.
* tree-ssa-loop-ivopts.c (struct iv_use): Change semantics of
related_cands.
(struct iv_ca, struct iv_ca_delta): New types.
(tree_ssa_iv_optimize_init): Allocate important_candidates bitmap.
(record_important_candidates): New.
(find_iv_candidates): Call record_important_candidates.
(alloc_use_cost_map): Derive size only from important candidates.
(set_use_iv_cost, get_use_iv_cost): Use hash-like mechanism to speed
up searches.
(determine_use_iv_cost_generic, determine_use_iv_cost_address,
determine_use_iv_cost_condition, determine_use_iv_cost_outer,
determine_use_iv_cost): Return whether the use can be expressed by
the candidate.
(determine_use_iv_costs): Prune useless candidates from relate_cands
bitmaps.
(find_best_candidate, set_cost_up_to, set_cost): Removed.
(cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
iv_ca_set_cp, iv_ca_add_use, iv_ca_cost, iv_ca_has_deps,
iv_ca_delta_add, iv_ca_cand_for_use, iv_ca_delta_commit,
iv_ca_cand_used_p, iv_ca_delta_free, iv_ca_new, iv_ca_free,
iv_ca_dump, iv_ca_extend, iv_ca_narrow): New functions.
(try_add_cand_for, get_initial_solution, try_improve_iv_set,
find_optimal_iv_set, create_new_ivs, tree_ssa_iv_optimize_loop):
Use new iv set representation.
(free_loop_data): clear important_candidates bitmap.
(tree_ssa_iv_optimize_finalize): Free important_candidates bitmap.
From-SVN: r90306