1 2005-09-21 Jan Hubicka <jh@suse.cz>
3 * ipa-type-escape.c (check_operand, check_tree, scan_for_refs): Handle
5 (init_optimization_passes): Re-enable IPA passes.
7 2005-09-19 Jan Hubicka <jh@suse.cz>
9 * passes.c (init_optimization_passes): Remove commented out items; add early ccp/dce.
10 * tree-ssa-operands (get_indirect_ref_operands): Mark statments wirting
11 to memory as volatile before aliasing is built.
12 (add_stmt_operand): Likewise.
14 2005-09-18 Jan Hubicka <jh@suse.cz>
16 * cgraphunit.c (cgraph_finalize_compilation_unit): Better dumping at -Q
17 (cgraph_optimize): Likewise.
18 * passes.c (execute_one_pass): New announce parameter.
19 (execute_ipa_pass_list): Use it.
20 (execute_pass_list): Likewise.
21 * tree-optimize.c (pass_early_local_passes,
22 gate_all_early_optimizations): Add names.
24 2005-09-16 Jan Hubicka <jh@suse.cz>
26 * Merge from mainline (ipa-merge-20050915)
28 2005-09-03 Jan Hubicka <jh@suse.cz>
30 * Merge from mainline (ipa-branch-merge-20050903)
32 2005-08-19 Jan Hubicka <jh@suse.cz>
34 * cgraph.h (rebuild_cgraph_edges): Declare.
35 * cgraphunit.c (rebuild_cgraph_edges): Rebuild.
36 * ipa-inline.c (cgraph_apply_inline_plan): Initialize bitmaps; free
38 (cgraph_decide_inlining_incrementally): Likewise.
39 * opts.c (decode_options): Temporarily disable salias.
40 * passes.c (init_optimization_passes): Temporariliy disable all IPA
41 passes; move SSA construction into early_optimization_passes.
42 * tree-inline.c: Include tree-pass.h
43 (remap_ssa_name): New function.
44 (remap_decl): Initialize SSA structs.
45 (copy_body_r): Handle SSA names; register global vars.
46 (copy_bb): Fold all new statements; update SSA_DEF_STMTs.
47 (copy_edges_for_bb): Update PHI nodes of EH edges.
48 (copy_phis_for_bb): New function.
49 (initialize_cfun): Break out from ...
50 (copy_cfg_body): ... here.
51 (setup_one_parameter): Handle SSA form.
52 (declare_return_variable): Likewise.
53 (expand_call_inline): Initialize calle_cfun early; deal with
54 SSA when replacing original assignment.
55 (optimize_inline_call): Some extra checking and rebuilding.
56 (tree_function_versioning): Use initialize_cfun; do not construct
57 temporary decl; free dominance info.
58 * tree-optimize.c (gate_all_optimizations): FOrce optimizations when in
60 (gate_all_early_optimizations): New.
61 (pass_all_early_optimizations): New.
62 (tree_lowering_passes): Do not compact blocks; do early
63 optimizations when called late; free dominance info.
64 * tree-pass.h (pass_all_early_optimizations): Declare.
65 * tree-ssa-ccp (get_maxval_strlen): Allow SSA to not be complette yet.
67 2005-08-18 Jan Hubicka <jh@suse.cz>
69 * Makefile.in (tree-ssanames, tree-eh, tree-ssa-operands): Kill GGC
71 * function.h (struct function): Add struct ssa.
72 * tree-cfgcleanup (modified_noreturn_calls): Kill.
73 (cleanup_control_flow): Set modified_noreturn_calls only when in SSA.
74 * tree-dfa.c (referenced_vars): Kill.
75 (make_rename_temp): Touch referenced_vars only when in SSA.
76 (default_def_fn, default_def, set_default_def): New.
77 * tree-flow-inline.h (mark_stmt_modified): Only touch noreturn calls
79 (default_def, set_default_def): Kill.
80 (is_call_clobbered, mark_call_clobbered, clear_call_clobbered,
81 mark_non_addressable): Update call_clobbered_vars and operand caches.
82 * tree-flow.h (in_ssa_p): Kill variable.
83 (struct opbuild_list_d): Declare here.
84 (struct ssa): New struct.
85 (referenced_vars, ssa_names, modified_noreturn_calls, global_var,
86 aliases_computed_p, in_ssa_p, free_ssanames, build_defs, build_uses,
87 build_v_may_defs, build_vuses, build_v_must_defs, operand_memory,
88 operand_memory_index, free_defs, free_uses, free_vuses, free_maydefs,
89 free_mustdefs): New macros.
90 (var_ann_d): Kill default_def.
91 (modified_noreturn_calls, referenced_vars, ssa_names, global_var,
92 call_clobbered_vars, addressable_vars, aliases_computed_p): Kill global
94 (set_default_def, default_def): No longer inline.
95 * tree-intossa.c (in_ssa_p): Kill.
96 (rewrite_into_ssa): Set in_ssa_p using x_ field.
97 * tree-optimize.c (execute_free_datastructures): Only kill SSA when
99 * tree-outof-ssa.c (rewrite_out_of_ssa): Set in_ssa_p using x_ field.
100 * tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars,
101 addressable_vars, global_var): Kill.
102 (init_alias_info, setup_pointers_and_addressables,
103 maybe_create_global_var): Update name of call clobbered bitmaps.
104 * tree-ssa-operands.c (opbuild_list_d): Kill structure definition.
105 (build_defs, build_uses, build_v_may_defs, build_vuses,
106 build_v_must_defs, ssa_call_clobbered_cache_valid,
107 ssa_ro_call_cache_valid): Kill.
108 (ssa_call_clobbered_cache_valid_for, ssa_ro_call_cache_valid_for): New.
109 (ops_active, operand_memory, operand_memory_index): Kill.
110 (free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs): Kill.
111 (ssa_operands_active): Use cfun->ssa.
112 (init_ssa_operands): Likewise.
113 (fini_ssa_operands): Update clobbered cache.
114 (get_asm_expr_operands, get_call_expr_operands, add_call_clobber_ops,
115 debug_immediate_uses_for): Update.
116 * tree-ssa-operands.h (ssa_call_clobbered_cache_valid,
117 ssa_ro_call_cache_valid): Rename to...
118 (ssa_call_clobbered_cache_valid_for, ssa_ro_call_cache_valid_for): ...
120 * tree-ssa-opfinalize.h (FINALIZE_FUNC): Check datastructure sanity.
121 * tree-ssa-structalias (update_alias_info): Update.
122 * tree-ssa.c (init_tree_ssa): Allocate SSA structure; update for new
124 (delete_tree_ssa): Similarly.
125 * tree-ssanames.c (ssa_names, free_ssanames): Kill; do not include
127 * tree-vect-generic.c (expand_vector_operations): Do not update stmt
128 when not in SSA form.
130 2005-08-14 Jan Hubicka <jh@suse.cz>
132 * cgraph.h (cgraph_preserve_function_body_p): New argument.
133 * cgraphunit.c (cgraph_expand_function): Update call of
134 cgraph_preserve_function_body_p.
135 (cgraph_preserve_function_body_p): New argument.
136 * ipa-inline.c (cgraph_apply_inline_plan): New function.
137 (cgraph_decide_inlining): Use it; remove unreachable nodes.
138 (cgraph_decide_inlining_incrementally): Update call of
139 optimize_inline_calls.
140 * tree-inline.c (inline_data): New field early_inlining_p.
141 (expand_call_inline): Use it.
142 (optimize_inline_calls): New argument.
143 * tree-inline.h (optimize_inline_calls): Declare.
144 * tree-optimize.c (update_inlined_to_pointers): Kill
145 (tree_rest_of_compilation): Don't perform inlining.
147 2005-08-13 Jan Hubicka <jh@suse.cz>
149 * cgraph.c (cgraph_insert_node_to_hashtable): New function.
150 * cgraph.h (cgraph_node): Add inline_decl.
151 (cgraph_insert_node_to_hashtable): Declare.
152 (save_inline_function_body): Declare.
153 * cgraphunit.c (verify_cgraph_node): Inline edges might point to inline
155 (cgraph_preserve_function_body_p): Do not presrve when dump is enabled.
156 (cgraph_function_versioning): Update call of tree_function_versioning.
157 (save_inline_function_body): New function.
158 * function.h (struct function): Kill saved_eh, saved_cfg, saved_args,
159 saved_static_chain_decl, saved_blocks and saved-unexpanded_var_list.
160 * ipa-inline.c (cgraph_mark_inline_edge): Look for inline clones.
161 (cgraph_default_inline_p): Likewise.
162 (cgraph_decide_inlining_incrementally): Likewise.
163 * tree-inline.c (inline_data): Kill saving_p add update_clones_p.
164 (copy_bb): Kill saving; do updating of clones.
165 (copy_cfg_body): Kill saving.
166 (initialize_inlined-parameters): Likewise.
167 (expand_call_inline): Likewise.
169 (tree_function_versioning): New parameter "update_clones".
170 (inlining_p): Kill saving.
171 * tree-inline.h (tree_function_versioning): Update prototype.
172 * tree-optimize.c (tree_rest_of_compilation): Use clonning instead of saving.
174 * java/decl.c (flag_unit_at_a_time): Kill.
176 2005-08-08 Olga Golovanevsky <olga@il.ibm.com>
178 * common.opt (flag_ipa_alias): New flag.
179 * ipa-prop.c (ipa_methodlist_init_empty): New function.
180 (ipa_callsite_tree, ipa_method_is_modified): Non-static.
181 (ipa_callsite_compute_param): Check for valid index.
182 (ipa_method_compute_tree_map, ipa_method_compute_modify):
184 (ipa_calc_formals_counts): New function.
185 * ipa_prop.h (ipaa_aliasing, ipaa_num_pairs_args):
186 New fields in ipa_node structure.
187 (ipaa_num_pairs_arg, ipaa_aliasing): New field in
189 (alias_info_d): New enums.
190 (ipaa_driver): New declaration.
191 (IS_VALID_TREE_MAP_INDEX): New macro.
192 (ipa_callsite_tree, ipa_methodlist_init_empty,
193 ipa_method_is_modified, ipaa_func_tree_alias_info_print,
194 ipa_calc_formals_counts, ipaa_get_aliasing_of_formals):
196 * timervar.def (TV_IPA_ALIAS_ANALYSIS): New time var.
197 * tree-flow.h (ipa-prop.h): New include file.
198 (ipa_alias): New field in var_ann_d struct.
199 * passes.c (pass_ipa_alias) : New ipa pass.
200 * tree-pass.h (pass_ipa_alias): New ipa pass structure.
201 * tree-ssa-alias.c (ipa-prop.h): New include file.
202 (may_alias_p): User ipaa interface to disambiguate formals.
203 * tree-data-ref.c: (ptr_ptr_may_alias_p): User ipaa
204 interface to disambiguate formals.
205 * Makefile.in (ipaa.c) : Added to GTFILES.
206 (ipa-alias.o): Added as target and into OBJS-archive.
207 (IPA_PROP_H): New variable, added to TREE_FLOW_H.
208 * ipa-alias.c New file.