1 2006-11-16 Jan Hubicka <jh@suse.cz>
3 * Merge from mainline (rev 118928).
5 2006-10-31 Razya Ladelsky <razya@il.ibm.com>
7 * testsuite/gcc.dg/matrix/matrix-1.c: Minor fixes.
8 * testsuite/gcc.dg/matrix/matrix-2.c: Same.
9 * testsuite/gcc.dg/matrix/matrix-3.c: Same.
10 * testsuite/gcc.dg/matrix/matrix-4.c: Same.
11 * testsuite/gcc.dg/matrix/matrix-5.c: Same.
12 * testsuite/gcc.dg/matrix/matrix-6.c: Same.
14 2006-10-31 Razya Ladklesky <razya@il.ibm.com>
16 * tree-inline.c (remap_decls): remap all TYPE_DECLs.
17 PR tree-optimization/29122
18 * tree-inline.c (tree_function_versioning): Update DECL_ASSEMBLER_NAME
19 for the new version. Assign NULL to DECL_RTL of the new version.
21 2006-10-31 Razya Ladelsky <razya@il.ibm.com>
23 * testsuite/gcc.dg/matrix/matrix.exp: Test transposing testcases with profiling.
24 * testsuite/gcc.dg/matrix/transpose-1.c: New testcase.
25 * testsuite/gcc.dg/matrix/transpose-2.c: New testcase.
26 * testsuite/gcc.dg/matrix/transpose-3.c: New testcase.
27 * testsuite/gcc.dg/matrix/transpose-4.c: New testcase.
28 * testsuite/gcc.dg/matrix/transpose-5.c: New testcase.
29 * testsuite/gcc.dg/matrix/transpose-6.c: New testcase.
32 2006-10-31 Razya Ladelsky <razya@il.ibm.com>
34 * matrix-reorg.c: (struct index_info) : Remove.
35 (struct access_site_info): Add field iterated_by_inner_most_loop_p
36 (struct matrix_info): Add dimension_size_orig.
37 Remove hottest_dim, reorg_failed_reason, flatten_p,
38 flatten_transpose_matrix_p, flatten_decl.
39 (analyze_transpose, mat_free, sort_dim_hot_level ): New function.
40 (check_transpose_p, analyze_transpose_p) : New static variables.
41 (record_access_alloc_site_info, check_allocation_function,
42 analyze_matrix_accesses, find_escaping_matrices_and_flatten,
43 transform_access_sites, matrix_reorg): Add support for transposing.
45 2006-10-05 Jan Hubicka <jh@suse.cz>
47 * c-pretty-print.c: Synchronize with mainline.
48 * cfgrtl.c: Synchronize with mainline.
49 * cgraphunit.c: Synchronize with mainline.
50 * fix-header.c: Synchronize with mainline.
51 * sched-deps.c: Synchronize with mainline.
52 * targhooks.c: Synchronize with mainline.
53 * tree.c: Synchronize with mainline.
54 * var-tracking.c: Synchronize with mainline.
56 2006-10-04 Jan Hubicka <jh@suse.cz>
58 * Merge from mainline (rev 117459).
60 2006-09-12 Jan Hubicka <jh@suse.cz>
62 * Merge from mainline (rev 116884).
64 2006-09-07 Razya Ladelsky <razya@il.ibm.com>
66 * testsuite/gcc.dg/matrix: Create new directory for matrix optimizatinos.
67 * testsuite/gcc.dg/matrix/matrix.exp: New file. Driver for matrix testcases.
68 * testsuite/gcc.dg/matrix/matrix-1.c: New testcase.
69 * testsuite/gcc.dg/matrix/matrix-2.c: New testcase.
70 * testsuite/gcc.dg/matrix/matrix-3.c: New testcase.
71 * testsuite/gcc.dg/matrix/matrix-4.c: New testcase.
72 * testsuite/gcc.dg/matrix/matrix-5.c: New testcase.
73 * testsuite/gcc.dg/matrix/matrix-6.c: New testcase.
75 2006-09-07 Razya Ladelsky <razya@il.ibm.com>
77 * matrix-reorg.c: New file. Implement matrix flattening optimization.
78 * tree-pass.h: Add matrix reorg (flattening) pass.
79 * common.opt: Add fmatrix-flattening flag.
80 * Makefile.in: Add matrix-reorg.c.
81 * passes.c: Add matrix reorg pass.
84 2006-08-23 Razya Ladelsky <razya@il.ibm.com>
86 * targhooks.c (default_internal_arg_pointer): New function.
87 * dominance.c (dom_computed, n_bbs_in_dom_tree): Remove definitions.
88 * fortran/decl.c (gfc_match_entry):Add missing declaration.
89 * function.h (dom_state): Add enumerator.
90 (dom_computed, n_bbs_in_dom_tree): Add new fields to function struct,
92 * basic-block.h (dom_state, dom_computed): Remove.
93 * config/rs6000/rs6000.c: Merge (partially) from mainline.
95 2006-08-20 Razya Ladelsky <razya@il.ibm.com>
96 * ipa-cp.c (ipcp_insert_stage, ipcp_driver): Support for SSA.
97 (compute_prof): New function to compute how hot each method is.
98 Use compute_function_frequency.
99 * ipa-prop.c (ipa_method_modify_stmt,
100 ipa_callsite_compute_param): Support for SSA.
101 * predict.c (compute_function_frequency): Change from static
104 2006-05-28 Jan Hubicka <jh@suse.cz>
106 * Merge from mainline
108 2006-04-11 Jan Hubicka <jh@suse.cz>
110 * ipa-inline.c (cgraph_early_inlining): Collect garbage.
111 * tree-inline.c (declare_return_variable): Unwind memory references.
113 2006-04-06 Jan Hubicka <jh@suse.cz>
115 * Merge from mainline
117 2006-03-29 Jan Hubicka <jh@suse.cz>
119 * Merge from mainline (revision 112588).
121 2006-01-31 Razya Ladelsky <razya@il.ibm.com>
123 * function.c (get_last_funcdef_no): New function.
124 (allocate_struct_function) : Use the new function.
125 * function.h (get_last_funcdef_no): New declaration.
126 * tree-inline.c (initialize_cfun): Add initializations.
128 2006-01-26 Jan Hubicka <jh@suse.cz>
130 * tree-inline.c (remap_ssa_name): Fix imroperly resolved merging
133 2006-01-24 Jan Hubicka <jh@suse.cz>
135 * Merge from mainline (revision 110160).
137 2006-01-15 Jan Hubicka <jh@suse.cz>
139 * Merge from mainline (revision 109724).
141 2005-11-29 Jan Hubicka <jh@suse.cz>
143 * ipa-type-escape.c (look_for_casts): Use get_base_var.
144 * tree-inline.c (setup_one_parameter): Accept empty init_stmt
145 (declare_return_variable): Mark symbol for renaming only in SSA form
146 * passes.c (init_optimization_passes): Re-enable ipacp.
148 2005-11-24 Jan Hubicka <jh@suse.cz>
150 * Merge from mainline (revsion 107437).
152 2005-11-03 Jan Hubicka <jh@suse.cz>
154 * Merge from mainline (revision 106423).
156 2005-09-30 Jan Hubicka <jh@suse.cz>
158 * loop-init.c (loop_optimizer_init): Avoid calling RTL optimizer too
160 * passes.c (init_optimization_passes): Schedule early VRP pass.
162 2005-09-22 Jan Hubicka <jh@suse.cz>
164 * tree-ssa-operands (get_indirect_ref_operands, add_stmt_operand):
165 Be more cureful with volatilizing.
167 2005-09-21 Jan Hubicka <jh@suse.cz>
169 * tree-inline.c (optimize_inline_calls): Rebuild SSA if needed.
171 * ipa-type-escape.c (check_operand, check_tree, scan_for_refs): Handle
173 (init_optimization_passes): Re-enable IPA passes.
175 2005-09-19 Jan Hubicka <jh@suse.cz>
177 * passes.c (init_optimization_passes): Remove commented out items; add early ccp/dce.
178 * tree-ssa-operands (get_indirect_ref_operands): Mark statments wirting
179 to memory as volatile before aliasing is built.
180 (add_stmt_operand): Likewise.
182 2005-09-18 Jan Hubicka <jh@suse.cz>
184 * cgraphunit.c (cgraph_finalize_compilation_unit): Better dumping at -Q
185 (cgraph_optimize): Likewise.
186 * passes.c (execute_one_pass): New announce parameter.
187 (execute_ipa_pass_list): Use it.
188 (execute_pass_list): Likewise.
189 * tree-optimize.c (pass_early_local_passes,
190 gate_all_early_optimizations): Add names.
192 2005-09-16 Jan Hubicka <jh@suse.cz>
194 * Merge from mainline (ipa-merge-20050915)
196 2005-09-03 Jan Hubicka <jh@suse.cz>
198 * Merge from mainline (ipa-branch-merge-20050903)
200 2005-08-19 Jan Hubicka <jh@suse.cz>
202 * cgraph.h (rebuild_cgraph_edges): Declare.
203 * cgraphunit.c (rebuild_cgraph_edges): Rebuild.
204 * ipa-inline.c (cgraph_apply_inline_plan): Initialize bitmaps; free
206 (cgraph_decide_inlining_incrementally): Likewise.
207 * opts.c (decode_options): Temporarily disable salias.
208 * passes.c (init_optimization_passes): Temporariliy disable all IPA
209 passes; move SSA construction into early_optimization_passes.
210 * tree-inline.c: Include tree-pass.h
211 (remap_ssa_name): New function.
212 (remap_decl): Initialize SSA structs.
213 (copy_body_r): Handle SSA names; register global vars.
214 (copy_bb): Fold all new statements; update SSA_DEF_STMTs.
215 (copy_edges_for_bb): Update PHI nodes of EH edges.
216 (copy_phis_for_bb): New function.
217 (initialize_cfun): Break out from ...
218 (copy_cfg_body): ... here.
219 (setup_one_parameter): Handle SSA form.
220 (declare_return_variable): Likewise.
221 (expand_call_inline): Initialize calle_cfun early; deal with
222 SSA when replacing original assignment.
223 (optimize_inline_call): Some extra checking and rebuilding.
224 (tree_function_versioning): Use initialize_cfun; do not construct
225 temporary decl; free dominance info.
226 * tree-optimize.c (gate_all_optimizations): FOrce optimizations when in
228 (gate_all_early_optimizations): New.
229 (pass_all_early_optimizations): New.
230 (tree_lowering_passes): Do not compact blocks; do early
231 optimizations when called late; free dominance info.
232 * tree-pass.h (pass_all_early_optimizations): Declare.
233 * tree-ssa-ccp (get_maxval_strlen): Allow SSA to not be complette yet.
235 2005-08-18 Jan Hubicka <jh@suse.cz>
237 * Makefile.in (tree-ssanames, tree-eh, tree-ssa-operands): Kill GGC
239 * function.h (struct function): Add struct ssa.
240 * tree-cfgcleanup (modified_noreturn_calls): Kill.
241 (cleanup_control_flow): Set modified_noreturn_calls only when in SSA.
242 * tree-dfa.c (referenced_vars): Kill.
243 (make_rename_temp): Touch referenced_vars only when in SSA.
244 (default_def_fn, default_def, set_default_def): New.
245 * tree-flow-inline.h (mark_stmt_modified): Only touch noreturn calls
247 (default_def, set_default_def): Kill.
248 (is_call_clobbered, mark_call_clobbered, clear_call_clobbered,
249 mark_non_addressable): Update call_clobbered_vars and operand caches.
250 * tree-flow.h (in_ssa_p): Kill variable.
251 (struct opbuild_list_d): Declare here.
252 (struct ssa): New struct.
253 (referenced_vars, ssa_names, modified_noreturn_calls, global_var,
254 aliases_computed_p, in_ssa_p, free_ssanames, build_defs, build_uses,
255 build_v_may_defs, build_vuses, build_v_must_defs, operand_memory,
256 operand_memory_index, free_defs, free_uses, free_vuses, free_maydefs,
257 free_mustdefs): New macros.
258 (var_ann_d): Kill default_def.
259 (modified_noreturn_calls, referenced_vars, ssa_names, global_var,
260 call_clobbered_vars, addressable_vars, aliases_computed_p): Kill global
262 (set_default_def, default_def): No longer inline.
263 * tree-intossa.c (in_ssa_p): Kill.
264 (rewrite_into_ssa): Set in_ssa_p using x_ field.
265 * tree-optimize.c (execute_free_datastructures): Only kill SSA when
267 * tree-outof-ssa.c (rewrite_out_of_ssa): Set in_ssa_p using x_ field.
268 * tree-ssa-alias.c (aliases_computed_p, call_clobbered_vars,
269 addressable_vars, global_var): Kill.
270 (init_alias_info, setup_pointers_and_addressables,
271 maybe_create_global_var): Update name of call clobbered bitmaps.
272 * tree-ssa-operands.c (opbuild_list_d): Kill structure definition.
273 (build_defs, build_uses, build_v_may_defs, build_vuses,
274 build_v_must_defs, ssa_call_clobbered_cache_valid,
275 ssa_ro_call_cache_valid): Kill.
276 (ssa_call_clobbered_cache_valid_for, ssa_ro_call_cache_valid_for): New.
277 (ops_active, operand_memory, operand_memory_index): Kill.
278 (free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs): Kill.
279 (ssa_operands_active): Use cfun->ssa.
280 (init_ssa_operands): Likewise.
281 (fini_ssa_operands): Update clobbered cache.
282 (get_asm_expr_operands, get_call_expr_operands, add_call_clobber_ops,
283 debug_immediate_uses_for): Update.
284 * tree-ssa-operands.h (ssa_call_clobbered_cache_valid,
285 ssa_ro_call_cache_valid): Rename to...
286 (ssa_call_clobbered_cache_valid_for, ssa_ro_call_cache_valid_for): ...
288 * tree-ssa-opfinalize.h (FINALIZE_FUNC): Check datastructure sanity.
289 * tree-ssa-structalias (update_alias_info): Update.
290 * tree-ssa.c (init_tree_ssa): Allocate SSA structure; update for new
292 (delete_tree_ssa): Similarly.
293 * tree-ssanames.c (ssa_names, free_ssanames): Kill; do not include
295 * tree-vect-generic.c (expand_vector_operations): Do not update stmt
296 when not in SSA form.
298 2005-08-14 Jan Hubicka <jh@suse.cz>
300 * cgraph.h (cgraph_preserve_function_body_p): New argument.
301 * cgraphunit.c (cgraph_expand_function): Update call of
302 cgraph_preserve_function_body_p.
303 (cgraph_preserve_function_body_p): New argument.
304 * ipa-inline.c (cgraph_apply_inline_plan): New function.
305 (cgraph_decide_inlining): Use it; remove unreachable nodes.
306 (cgraph_decide_inlining_incrementally): Update call of
307 optimize_inline_calls.
308 * tree-inline.c (inline_data): New field early_inlining_p.
309 (expand_call_inline): Use it.
310 (optimize_inline_calls): New argument.
311 * tree-inline.h (optimize_inline_calls): Declare.
312 * tree-optimize.c (update_inlined_to_pointers): Kill
313 (tree_rest_of_compilation): Don't perform inlining.
315 2005-08-13 Jan Hubicka <jh@suse.cz>
317 * cgraph.c (cgraph_insert_node_to_hashtable): New function.
318 * cgraph.h (cgraph_node): Add inline_decl.
319 (cgraph_insert_node_to_hashtable): Declare.
320 (save_inline_function_body): Declare.
321 * cgraphunit.c (verify_cgraph_node): Inline edges might point to inline
323 (cgraph_preserve_function_body_p): Do not presrve when dump is enabled.
324 (cgraph_function_versioning): Update call of tree_function_versioning.
325 (save_inline_function_body): New function.
326 * function.h (struct function): Kill saved_eh, saved_cfg, saved_args,
327 saved_static_chain_decl, saved_blocks and saved-unexpanded_var_list.
328 * ipa-inline.c (cgraph_mark_inline_edge): Look for inline clones.
329 (cgraph_default_inline_p): Likewise.
330 (cgraph_decide_inlining_incrementally): Likewise.
331 * tree-inline.c (inline_data): Kill saving_p add update_clones_p.
332 (copy_bb): Kill saving; do updating of clones.
333 (copy_cfg_body): Kill saving.
334 (initialize_inlined-parameters): Likewise.
335 (expand_call_inline): Likewise.
337 (tree_function_versioning): New parameter "update_clones".
338 (inlining_p): Kill saving.
339 * tree-inline.h (tree_function_versioning): Update prototype.
340 * tree-optimize.c (tree_rest_of_compilation): Use clonning instead of saving.
342 * java/decl.c (flag_unit_at_a_time): Kill.
344 2005-08-08 Olga Golovanevsky <olga@il.ibm.com>
346 * common.opt (flag_ipa_alias): New flag.
347 * ipa-prop.c (ipa_methodlist_init_empty): New function.
348 (ipa_callsite_tree, ipa_method_is_modified): Non-static.
349 (ipa_callsite_compute_param): Check for valid index.
350 (ipa_method_compute_tree_map, ipa_method_compute_modify):
352 (ipa_calc_formals_counts): New function.
353 * ipa_prop.h (ipaa_aliasing, ipaa_num_pairs_args):
354 New fields in ipa_node structure.
355 (ipaa_num_pairs_arg, ipaa_aliasing): New field in
357 (alias_info_d): New enums.
358 (ipaa_driver): New declaration.
359 (IS_VALID_TREE_MAP_INDEX): New macro.
360 (ipa_callsite_tree, ipa_methodlist_init_empty,
361 ipa_method_is_modified, ipaa_func_tree_alias_info_print,
362 ipa_calc_formals_counts, ipaa_get_aliasing_of_formals):
364 * timervar.def (TV_IPA_ALIAS_ANALYSIS): New time var.
365 * tree-flow.h (ipa-prop.h): New include file.
366 (ipa_alias): New field in var_ann_d struct.
367 * passes.c (pass_ipa_alias) : New ipa pass.
368 * tree-pass.h (pass_ipa_alias): New ipa pass structure.
369 * tree-ssa-alias.c (ipa-prop.h): New include file.
370 (may_alias_p): User ipaa interface to disambiguate formals.
371 * tree-data-ref.c: (ptr_ptr_may_alias_p): User ipaa
372 interface to disambiguate formals.
373 * Makefile.in (ipaa.c) : Added to GTFILES.
374 (ipa-alias.o): Added as target and into OBJS-archive.
375 (IPA_PROP_H): New variable, added to TREE_FLOW_H.
376 * ipa-alias.c New file.