gcc/gcc ChangeLog.killloop Makefile.in df.c df ...
rakdver@gcc.gnu.org
rakdver@gcc.gnu.org
Tue Aug 30 07:42:00 GMT 2005
CVSROOT: /cvs/gcc
Module name: gcc
Branch: killloop-branch
Changes by: rakdver@gcc.gnu.org 2005-08-30 07:42:25
Modified files:
gcc : ChangeLog.killloop Makefile.in df.c df.h
loop-invariant.c
Log message:
* Makefile.in (loop-invariant.o): Add HASHTAB_H dependency.
* df.c (df_find_use): New function.
* df.h (df_find_use): Declare.
* loop-invariant.c: Include hashtab.h.
(struct invariant): Replace processed field by reg field.
Add eqto field.
(struct invariant_expr_entry): New.
(df): New global variable.
(invariant_for_use, hash_invariant_expr_1, invariant_expr_equal_p,
hash_invariant_expr, eq_invariant_expr, find_or_insert_inv,
find_identical_invariants, merge_identical_invariants): New functions.
(find_defs, check_dependencies, find_invariant_insn,
record_uses, find_invariants_bb, find_invariants_body,
find_invariants, find_invariants_to_move, move_invariants,
free_inv_motion_data, move_single_loop_invariants,
move_loop_invariants): Do not pass df in arguments.
(create_new_invariant): Return the new invariant. Initialize new
fields.
(find_invariants): Call merge_identical_invariants.
(get_inv_cost, best_gain_for_invariant, set_move_mark,
move_invariant_reg): Handle equivalent invariants.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.killloop.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.1530&r2=1.1530.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/df.c.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.86&r2=1.86.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/df.h.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=1.34&r2=1.34.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/loop-invariant.c.diff?cvsroot=gcc&only_with_tag=killloop-branch&r1=2.15.2.1&r2=2.15.2.2
More information about the Gcc-cvs
mailing list