]> git.ipfire.org Git - thirdparty/gcc.git/commit
gcse.c (struct ls_expr): Added pattern_regs field.
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
Tue, 1 Apr 2003 20:23:54 +0000 (22:23 +0200)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Tue, 1 Apr 2003 20:23:54 +0000 (20:23 +0000)
commit47a3dae13e864748d4184738555900f44643593d
tree0db4fb2ef18fbbab125fcd45b4f2b01a576ea6c4
parent63855aa6edce91dc134af8ad24ba4898bcf60f0e
gcse.c (struct ls_expr): Added pattern_regs field.

* gcse.c (struct ls_expr): Added pattern_regs field.
(ldst_entry): Initialize it.
(extract_mentioned_regs, extract_mentioned_regs_helper): New.
(store_ops_ok): Use regs precomputed by them.
(find_loads, store_killed_in_insn, load_kills_store): Change return
type to bool.
(store_killed_before, store_killed_after): Take position of register
set in account.
(reg_set_info): Store position of the setter.
(gcse_main): Enable store motion.
(mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
(pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
sharing.
(simple_mem): Enable store motion of non-symbol mems.
(regvec): Type changed.
(LAST_AVAIL_CHECK_FAILURE): New.
(compute_store_table_current_insn): New.
(build_store_vectors): Computation of availability and anticipatability
moved ...
(compute_store_table, find_moveable_store): ... here.
(delete_store): Remove senseless comment.
(store_motion): Reorganize.

From-SVN: r65141
gcc/ChangeLog
gcc/gcse.c