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