aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog.ssaupdate
blob: f42d9a06d055f049e6f99a9123d7ab28e246c5d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
2004-11-03  Zdenek Dvorak  <dvorakz@suse.cz>

	* Makefile.in (tree-update-ssa.o): Add.
	* lambda-code.c (perfect_nestify): Do not call mark_for_rewrite
	and unmark_all_for_rewrite.
	* toplev.c (general_init): Call ssa_name_eqto_init.
	* tree-cfg.c (tree_duplicate_bb): Use rewrite_new_def instead of
	mark_for_rewrite.
	(add_phi_args_after_copy_bb): Check that the corresponding phi nodes
	have the same original ssa name.
	(struct ssa_name_map_entry, ssa_name_map_entry_hash,
	ssa_name_map_entry_eq, allocate_ssa_names,
	rewrite_to_new_ssa_names_def, rewrite_to_new_ssa_names_use,
	rewrite_to_new_ssa_names_bb, rewrite_to_new_ssa_names): Removed.
	(tree_duplicate_sese_region): Use new ssa updating functions.
	* tree-flow.h (rewrite_to_new_ssa_names_bb, rewrite_to_new_ssa_names,
	allocate_ssa_names, rewrite_ssa_into_ssa): Declaration removed.
	(struct usf_def_list, struct usf_use_list, struct ssa_update_value):
	New structures.
	(USF_PHIS_ALREADY_EXIST): New constant.
	(update_ssa_form, update_ssa_form_for_registered_defs, rewrite_new_def,
	original_equivalent_name, release_ssa_name_from_eqto,
	get_values_for_ssa_form_update, any_values_for_ssa_update_p,
	ssa_names_for_ssa_update, get_defs_to_update, determine_def_stmt,
	determine_def_bb, rewrite_uses_region, rewrite_uses_bb,
	free_def_list, ssa_form_updated, ssa_form_updated_all): Declare.
	* tree-into-ssa.c (struct def_blocks_d): Remove phi_blocks field.
	(struct mark_def_sites_global_data): Remove names_to_rename field.
	(struct ssa_name_info): Removed.
	(get_ssa_name_ann, ssa_mark_def_sites_initialize_block,
	ssa_mark_phi_uses, ssa_mark_def_sites, ssa_register_new_def,
	ssa_rewrite_phi_arguments, ssa_rewrite_finalize_block,
	ssa_rewrite_stmt, rewrite_ssa_into_ssa): Removed.
	(get_phi_state, set_phi_state, get_current_def, set_current_def,
	mark_def_sites, set_def_block, insert_phi_nodes, insert_phi_nodes_for,
	def_blocks_free, get_def_blocks_for, rewrite_into_ssa): Remove parts
	dealing with updating over ssa form.
	* tree-pretty-print.c (dump_generic_node): Dump the original ssa name
	for ssa names.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Use
	update_ssa_form_for_registered_defs.
	* tree-ssa-loop-manip.c (add_exit_phis_edge, find_uses_to_rename_use,
	find_uses_to_rename_stmt, find_uses_to_rename,
	rewrite_into_loop_closed_ssa, rename_variables,
	tree_duplicate_loop_to_header_edge): Use new ssa form updating functions.
	(set_phi_def_stmts): Removed.
	* tree-ssa-threadupdate.c (copy_phis_to_block): Use the fact that phi
	nodes in copied block come in the same order as those in the original.
	* tree-ssanames.c (ssa_names_to_rewrite, marked_for_rewrite_p,
	any_marked_for_rewrite_p, mark_for_rewrite, unmark_all_for_rewrite,
	marked_ssa_names): Removed.
	(release_ssa_name): Do not check marked_for_rewrite_p, call
	release_ssa_name_from_eqto.
	* tree-update-ssa.c: New file.
	* tree.h (mark_for_rewrite, unmark_all_for_rewrite,
	marked_for_rewrite_p, any_marked_for_rewrite_p, marked_ssa_names):
	Declaration removed.
	(ssa_name_eqto_init): Declare.

2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
	    Andrew MacLeod  <amacleod@redhat.com>

	Merge changes from immuse-rewrite-branch.

2004-10-24  Zdenek Dvorak  <dvorakz@suse.cz>

	* tree-cfg.c (stmt_dominated_by_p): Handle statements defining initial
	value of a variable.
	* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Removed.
	(can_count_iv_in_wider_type_bound): Use stmt_dominated_by_p.

	* tree-pretty-print.c (dump_generic_node): Cast pointer to size_t
	first.
	* tree-ssa-operands.c (test_imm_print, verify_abort): Ditto.

2004-10-20  Zdenek Dvorak  <dvorakz@suse.cz>
	    Andrew MacLeod  <amacleod@redhat.com>

	Merge changes from immuse-rewrite-branch. 

2004-10-19  Zdenek Dvorak  <dvorakz@suse.cz>

	* tree-cfg.c (LDN_BITS, LDN_STARTING_VALUE, LDN_FINAL_EXPAND,
	LDN_MIDDLE_EXPAND): New constants.
	(set_ldn, get_ldn):
	(make_blocks): Set local dominance number for statements.
	(tree_merge_blocks, bsi_replace): Update local dominance numbers.
	(set_bb_for_stmt, update_new_stmt): Work only for single statements.
	(bsi_insert_before_1, bsi_insert_after_1): New functions.
	(bsi_insert_before, bsi_insert_after): Add statements one by one.
	(find_ldn_expand, dump_ldn, verify_local_dominance,
	setup_local_dom_number): New functions.
	(bsi_commit_edge_inserts_1, bsi_insert_on_edge_immediate):
	Pass BSI_CONTINUE_LINKING to bsi_insert_*.
	(tree_verify_flow_info): Call verify_local_dominance.
	(stmt_dominated_by_p): New function.
	* tree-flow.h (struct stmt_ann_d): Add local_dom_number field.
	(stmt_dominated_by_p): Declare.
	* tree-ssa-loop-ivopts.c (stmt_after_ip_original_pos): Use
	stmt_dominated_by_p.

2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
	    Andrew MacLeod  <amacleod@redhat.com>

	Merge immediate uses patch from immuse-rewrite-branch.

2004-10-10  Zdenek Dvorak  <dvorakz@suse.cz>

	Branch created (ssaupdate-branchpoint).
	* ChangeLog.ssaupdate: New file.