This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.tcb Makefile.in lambda-code. ...
- From: dnovillo at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 18 Mar 2005 16:41:54 -0000
- Subject: gcc/gcc ChangeLog.tcb Makefile.in lambda-code. ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: tree-cleanup-branch
Changes by: dnovillo@gcc.gnu.org 2005-03-18 16:41:54
Modified files:
gcc : ChangeLog.tcb Makefile.in lambda-code.c
tree-cfg.c tree-flow.h tree-into-ssa.c
tree-loop-linear.c tree-ssa-ccp.c
tree-ssa-copy.c tree-ssa-dom.c
tree-ssa-loop-im.c tree-ssa-loop-manip.c
tree-ssa-loop-unswitch.c tree-ssa-operands.c
tree-ssa-operands.h tree-ssanames.c
tree-vectorizer.c tree-vrp.c tree.h
gcc/testsuite : ChangeLog.tcb
Added files:
gcc/testsuite/gcc.c-torture/execute: 20030216-1.x
Log message:
2005-03-18 Diego Novillo <dnovillo@redhat.com>
* Makefile.in (tree-into-ssa.o): Remove dependency on pointer-set.h.
(tree-cfg.o): Add dependency on vec.h.
* lambda-code.c (perfect_nestify): Mark for SSA updating any
virtual operands in the moved statement.
* tree-flow.h (rewrite_to_new_ssa_names_bb,
rewrite_to_new_ssa_names, allocate_ssa_names,
rewrite_ssa_into_ssa): Remove.
(update_ssa, register_new_name_mapping, create_new_def_for,
need_ssa_update_p, name_registered_for_update_p,
dump_repl_tbl, debug_repl_tbl, dump_names_replaced_by,
debug_names_replaced_by): Declare.
(loop_depth_of_name): Declare.
* tree-into-ssa.c: Don't include pointer-set.h.
(old_ssa_names, new_ssa_names): Convert to sbitmap.
(NAME_SETS_GROWTH_FACTOR): Declare.
(struct new_to_old_d): Remove. Update all users.
(new_to_old): Remove. Update all users.
(struct repl_map_d): Declare.
(repl_tbl): Declare.
(need_to_initialize_update_ssa_p): Declare.
(need_to_update_vops_p): Declare.
(REGISTER_DEFS_IN_THIS_STMT): Use tree_common.unsigned_flag
instead of TREE_ADDRESSABLE.
(set_def_block): Remove argument 'is_update'. Update all
callers.
(symbol_marked_for_renaming): New function.
(repl_map_hash): Rename from new_to_old_hash.
(repl_map_eq): Rename from new_to_old_eq.
(repl_map_free): New function.
(names_replaced_by): New function.
(mark_sym_for_renaming): New function.
(add_to_repl_tbl): New function.
(name_replaced_by): Remove.
(add_new_name_mapping): Resize OLD_SSA_NAMES and NEW_SSA_NAMES
if needed.
If NEW is a virtual variable, call mark_sym_for_renaming.
Call add_to_repl_tbl.
(prepare_def_operand_for_rename): Only accept _DECL nodes.
(mark_def_sites): Fix call to prepare_def_operand_for_rename.
Do not rewrite def operands.
(find_idf): Ignore NULL blocks pulled from the work list.
(get_default_def_for): New function.
(get_reaching_def): Call it.
(insert_phi_nodes_for): Check that find_def_blocks_for returns
non-NULL.
Fix assignment to SYM.
Only call add_new_name_mapping and add arguments if UPDATE_P
is true.
Mark PHI for renaming.
(register_new_update_single): Rename from register_new_update.
(register_new_update_set): New function.
(rewrite_update_init_block): Update comments. Add support for
renaming virtual operands.
(rewrite_update_stmt): Likewise.
(rewrite_update_phi_arguments): Likewise.
(rewrite_def_def_chains): Do not call calculate_dominance_info.
(mark_def_interesting): New function.
(mark_use_interesting): New function.
(prepare_phi_args_for_update):
(prepare_block_for_update): Add support for virtual operands.
Call mark_def_interesting, mark_use_interesting and
prepare_phi_args_for_update.
(remove_name_from_mappings): New function.
(prepare_def_site_for): New function.
(prepare_def_sites): New function.
(dump_names_replaced_by): New function.
(debug_names_replaced_by): New function.
(dump_repl_tbl): New function.
(debug_repl_tbl): New function.
(remove_non_dominated): Remove.
(init_update_ssa): New function.
(delete_update_ssa): New function.
(create_new_def_for): New function.
(register_new_name_mapping): New function.
(need_ssa_update_p): New function.
(name_registered_for_update_p): New function.
(insert_updated_phi_nodes_for): New function.
(update_ssa): Update documentation.
Do nothing if there is no need to update the SSA web.
Call prepare_def_sites.
Call prepare_block_for_update with the nearest common
dominator of all new and old definition sites and on all the
blocks in the dominance frontier of that block.
Call insert_updated_phi_nodes_for with old SSA names and
symbols marked for renaming.
* tree-loop-linear.c (linear_transform_loops): Remove
call to rewrite_into_ssa.
* tree-ssa-ccp.c (get_default_value): Set VAL.MEM_REF to
SYM when getting DECL_INITIAL from a const global
variable.
* tree-ssa-copy.c (may_propagate_copy): Do not allow
propagations that pull a copy out of a deeper nested
loop.
* tree-ssa-dom.c (loop_depth_of_name): Declare extern.
* tree-ssa-loop-im.c (move_computations): Clear
VARS_TO_RENAME before calling rewrite_into_loop_closed_ssa.
* tree-ssa-operands.c (copy_virtual_operands): Remove.
* tree-ssa-operands.h (copy_virtual_operands): Remove.
* tree-vectorizer.c (allocate_new_names, rename_use_op,
rename_def_op, rename_variables_in_bb, free_new_names,
rename_variables_in_loop): Remove.
(slpeel_update_phis_for_duplicate_loop): Remove variables
new_name_ptr, new_ssa_name and new_loop_exit_e.
Do not try to update PHIs for duplicate loop.
(slpeel_update_phi_nodes_for_guard): Do nothing if
UPDATE_BB is the same as ORIG_BB.
(slpeel_can_duplicate_loop_p): Call need_ssa_update_p
instead of any_marked_for_rewrite_p.
(slpeel_tree_peel_loop_to_edge): Call update_ssa.
* tree.h:
* testsuite/gcc.c-torture/execute/20030216-1.x:
2005-03-18 Zdenek Dvorak <dvorakz@suse.cz>
Diego Novillo <dnovillo@redhat.com>
* Makefile.in: (tree-cfg.o): Add dependency on vec.h.
* tree-cfg.c: Include vec.h.
(tree_duplicate_bb): Call create_new_def_for for newly
created PHI nodes.
Remove call to copy_virtual_operands.
Mark any newly exposed virtual symbol for renaming.
(struct ssa_name_map_entry): Remove.
(ssa_name_map_entry_hash): Remove.
(ssa_name_map_entry_eq): Remove.
(allocate_ssa_names): Remove.
(rewrite_to_new_ssa_names_def): Remove.
(rewrite_to_new_ssa_names_use): Remove.
(rewrite_to_new_ssa_names_bb): Remove.
(rewrite_to_new_ssa_names): Remove.
(tree_duplicate_sese_region): Remove variables ver,
definitions, phi, ssa_name_map and bi.
Call need_ssa_update_p instead of any_marked_for_rewrite_p.
Call update_ssa.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
update_ssa instead of rewrite_ssa_into_ssa.
* tree-ssa-loop-manip.c (add_exit_phis_edge): Call
create_new_def_for.
(find_uses_to_rename_use): Add argument 'need_phis'.
(find_uses_to_rename_stmt): Do not scan virtual operands.
(find_uses_to_rename): Only scan PHI nodes for
non-virtual names.
(rewrite_into_loop_closed_ssa): Call update_ssa.
(check_loop_closed_ssa_use): Ignore virtual operands.
(check_loop_closed_ssa_stmt): Likewise.
(verify_loop_closed_ssa): Do nothing if CURRENT_LOOPS is
NULL.
(rename_variables, set_phi_def_stmts): Remove.
(tree_duplicate_loop_to_header_edge): Reformat comment.
Remove variables bb, i and definitions.
Call need_ssa_update_p.
Call update_ssa.
(lv_adjust_loop_header_phi): Reformat comment.
* tree-ssanames.c (ssa_names_to_rewrite): Remove.
(marked_for_rewrite_p, any_marked_for_rewrite_p,
mark_for_rewrite, unmark_all_for_rewrite,
marked_ssa_names): Remove. Update all users.
(release_ssa_name): If VAR has been registered for SSA
updating, do nothing.
* tree-vrp.c (new_ssa_names, old_ssa_names): Remove.
(build_assert_expr_for): Call register_new_name_mapping.
(insert_range_assertions): Update call to update_ssa.
* tree.h (mark_for_rewrite, unmark_all_for_rewrite,
marked_for_rewrite_p, any_marked_for_rewrite_p,
marked_ssa_names): Remove.
testsuite/ChangeLog.tcb
2005-03-18 Diego Novillo <dnovillo@redhat.com>
* gcc.c-torture/execute/20030216-1.x: New file.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.tcb.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=1.1.2.27&r2=1.1.2.28
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=1.1396.2.20&r2=1.1396.2.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/lambda-code.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.9.2.10&r2=2.9.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-cfg.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.55.2.18&r2=2.55.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.46.2.16&r2=2.46.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-into-ssa.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.21.2.16&r2=2.21.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-loop-linear.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.2.2.6&r2=2.2.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-ccp.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.41.2.13&r2=2.41.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-copy.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.15.2.13&r2=2.15.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-dom.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.44.2.17&r2=2.44.2.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-im.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.13.2.8&r2=2.13.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-manip.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.6.2.7&r2=2.6.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-loop-unswitch.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.3.4.2&r2=2.3.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-operands.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.44.2.12&r2=2.44.2.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-operands.h.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.7.4.3&r2=2.7.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssanames.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.14.2.4&r2=2.14.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=2.8.2.15&r2=2.8.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vrp.c.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=1.1.2.6&r2=1.1.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=1.625.2.14&r2=1.625.2.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.tcb.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=1.1.2.7&r2=1.1.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/20030216-1.x.diff?cvsroot=gcc&only_with_tag=tree-cleanup-branch&r1=NONE&r2=1.1.2.1