Makefile.in (OBJS-common): Add postreload-gcse.c.
authorSteven Bosscher <stevenb@suse.de>
Wed, 18 Aug 2004 20:53:59 +0000 (20:53 +0000)
committerSteven Bosscher <steven@gcc.gnu.org>
Wed, 18 Aug 2004 20:53:59 +0000 (20:53 +0000)
commit0516f6fe82641daf7c1ac8812998049ac591201e
tree93b7857ed347181c4c208adbe8b5fdd8d2f48e15
parent95013377bd98d4456996c3e7a2921b4c475239a1
Makefile.in (OBJS-common): Add postreload-gcse.c.

* Makefile.in (OBJS-common): Add postreload-gcse.c.
Add new postreload-gcse.o.
* cse.c (SAFE_HASH): Define as wrapper around safe_hash.
(lookup_as_function, insert, rehash_using_reg, use_related_value,
equiv_constant): Use SAFE_HASH instead of safe_hash.
(exp_equiv_p): Export.  Add for_gcse argument when comparing
for GCSE.
(lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
find_comparison_args, fold_rtx, cse_insn): Update callers.
(hash_rtx): New function derived from old canon_hash and bits
from gcse.c hash_expr_1.
(canon_hash_string): Rename to hash_rtx_string.
(canon_hash, safe_hash): Make static inline.  Call hash_rtx.
* cselib.c (hash_rtx): Rename to cselib_hash_rtx.
(cselib_lookup): Update this caller.
* gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
Make static.
(hash_expr): Call hash_rtx.
(ldst_entry): Likewise.
(expr_equiv_p): Call exp_equiv_p.
(struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
reg_used_on_edge, reg_set_between_after_reload_p,
reg_used_between_after_reload_p, get_avail_load_store_reg,
is_jump_table_basic_block, bb_has_well_behaved_predecessors,
get_bb_avail_insn, hash_scan_set_after_reload,
compute_hash_table_after_reload,
eliminate_partially_redundant_loads, gcse_after_reload,
get_bb_avail_insn, gcse_after_reload_main): Remove.
* postreload-gcse.c: New file, reincarnating most of the above.
* rtl.h (exp_equiv_p, hash_rtx): New prototypes.
(gcse_after_reload_main): Update prototype.
* timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
* passes.c (rest_of_handle_gcse2): Use it.

From-SVN: r86206
gcc/ChangeLog
gcc/Makefile.in
gcc/cse.c
gcc/cselib.c
gcc/gcse.c
gcc/passes.c
gcc/postreload-gcse.c [new file with mode: 0644]
gcc/rtl.h
gcc/timevar.def