* df.c (df_bitmaps_free): Only work for bbs for that structures are
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Dec 2005 14:23:40 +0000 (14:23 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Dec 2005 14:23:40 +0000 (14:23 +0000)
commit3d6b8be710445a7a01af0b657ea2e47c6a3c6670
tree85322ca05abf7b49ec62b5f1ab6e6fd391a10f29
parent8dba02f779af476cdaf6c33c05eb0d7480acec95
* df.c (df_bitmaps_free): Only work for bbs for that structures are
allocated.
(df_bb_modify): Realloc tables to the new index.
(df_find_use): New function.
(df_find_def, df_reg_used): Handle subregs.
* df.h (df_find_use): Declare.

* loop-invariant.c: Include hashtab.h.
(struct invariant): Remove processed field, add eqto and reg fields.
(struct invariant_expr_entry): New.
(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.
(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.
* Makefile.in (loop-invariant.o): Add HASHTAB_H dependency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108949 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/df.c
gcc/df.h
gcc/loop-invariant.c