1. 26 Jul, 2007 1 commit
  2. 30 Jun, 2007 1 commit
    • ipa.c (cgraph_postorder): Cast according to the coding conventions. · c5274326
      	* ipa.c (cgraph_postorder): Cast according to the coding conventions.
      	(cgraph_remove_unreachable_nodes): Likewise.
      	* ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0.
      	* ipa-inline.c (update_caller_keys): Cast according to the coding
      	conventions.
      	(cgraph_decide_recursive_inlining): Likewise.
      	(cgraph_decide_inlining_of_small_function): Likewise.
      	(try_inline): Likewise.
      	(cgraph_decide_inlining_incrementally): Likewise.
      	* ipa-pure-const.c (get_function_state): Likewise.
      	(scan_function): Likewise.
      	(analyze_function): Likewise.
       	(static_execute): Likewise.
      	* gcc/ipa-reference.c (scan_for_static_refs): Likewise.
      	(merge_callee_local_info): Likewise.
      	(analyze_function): Use type safe memory macros.
      	(static_execute): Likewise. Cast according to the coding conventions.
      	* ipa-type-escape.c (scan_for_regs): Cast according to the coding
      	conventions.
      	* ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable
      	names.
      	(ipa_utils_reduced_inorder): Likewise. Use type safe memory macros.
      	* ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as
      	variable names.
      
      From-SVN: r126140
      Thomas Neumann committed
  3. 16 Jan, 2007 1 commit
    • cgraph.h (cgraph_decide_inlining_incrementally): Kill. · 873aa8f5
      	* cgraph.h (cgraph_decide_inlining_incrementally): Kill.
      	* tree-pass.h: Reorder to make IPA passes appear toegher.
      	(pass_early_inline, pass_inline_parameters, pass_apply_inline): Declare.
      	* cgraphunit.c (cgraph_finalize_function): Do not compute inling
      	parameters, do not call early inliner.
      	* ipa-inline.c: Update comments.  Include tree-flow.h
      	(cgraph_decide_inlining): Do not compute inlining parameters.
      	(cgraph_decide_inlining_incrementally): Return TODOs; assume to
      	be called with function context set up.
      	(pass_ipa_inline): Remove unreachable functions before pass.
      	(cgraph_early_inlining): Simplify assuming to be called from the
      	PM as local pass.
      	(pass_early_inline): New pass.
      	(cgraph_gate_ipa_early_inlining): New gate.
      	(pass_ipa_early_inline): Turn into simple wrapper.
      	(compute_inline_parameters): New function.
      	(gate_inline_passes): New gate.
      	(pass_inline_parameters): New pass.
      	(apply_inline): Move here from tree-optimize.c
      	(pass_apply_inline): New pass.
      	* ipa.c (cgraph_remove_unreachable_nodes): Verify cgraph after
      	transforming.
      	* tree-inline.c (optimize_inline_calls): Return TODOs rather than
      	doing them by hand.
      	(tree_function_versioning): Do not allocate dummy struct function.
      	* tree-inline.h (optimize_inline_calls): Update prototype.
      	* tree-optimize.c (execute_fixup_cfg): Export.
      	(pass_fixup_cfg): Remove
      	(tree_rest_of_compilation): Do not apply inlines.
      	* tree-flow.h (execute_fixup_cfg): Declare.
      	* Makefile.in (gt-passes.c): New.
      	* passes.c: Include gt-passes.h
      	(init_optimization_passes): New passes.
      	(nnodes, order): New static vars.
      	(do_per_function_toporder): New function.
      	(execute_one_pass): Dump current pass here.
      	(execute_ipa_pass_list): Don't dump current pass here.
      
      From-SVN: r120835
      Jan Hubicka committed
  4. 08 Jan, 2007 2 commits
    • * ipa.c (function_and_variable_visibility): Fix return type. · 4e260309
      From-SVN: r120590
      Jan Hubicka committed
    • tree-pas.h (TODO_remove_function): New flag. · f4b3ca72
      	* tree-pas.h (TODO_remove_function): New flag.
      	(TODO_update*): Renumber.
      	(pass_ipa_increase_alignment,
      	pass_ipa_function_and_variable_visibility): New passes.
      	* cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c
      	(cgraph_function_and_variable_visibility): Move to ipa.c
      	(cgraph_optimize): Don't call cgraph_function_and_variable_visibility,
      	cgraph_increase_alignment.
      	* ipa-inline.c (cgraph_decide_inlining): Don't push timevar.
      	(cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before
      	calling tree-inline.
      	(cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes.
      	(pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions
      	* tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c
      	(gate_increase_alignment): New function.
      	(pass_ipa_increase_alignment): New pass.
      	* ipa.c: Inline tree-pass.h and timevar.h
      	(function_and_variable_visibility): Move here from cgraphunit.c
      	* tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions.
      	* passes.c (init_optimization_passes): Add the two new passes.
      	(execute_todo): Handle cgraph_remove_functions.
      
      From-SVN: r120576
      Jan Hubicka committed
  5. 04 Jan, 2007 1 commit
    • cgraph.c (cgraph_release_function_body): New function. · 3a40c18a
      	* cgraph.c (cgraph_release_function_body): New function.
      	(cgraph_remove_node): Use it.
      	* cgraph.h (cgraph_release_function_body): Declare.
      	* cgraphunit.c (cgraph_expand_function): Use it.
      	* ipa.c (cgraph_remove_unreahchable_nodes): Use it.
      	* tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing
      	is initialized and while compilation of other function is running.
      	* tree-optimize.c (execute_free_cfg_annotations): Move code to clear
      	statement CFG annotations from here to ...
      	* tree-cfg.c (delete_tree_cfg_annotations): ... here.
      
      From-SVN: r120437
      Jan Hubicka committed
  6. 26 Jul, 2006 1 commit
    • re PR tree-optimization/27882 (segfault in ipa-inline.c, if… · 96fc428c
      re PR tree-optimization/27882 (segfault in ipa-inline.c, if (e->callee->local.disregard_inline_limits)
      
      	PR tree-optimization/27882
      	* cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
      	and decl fields.
      	* cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
      	next pointer
      	(cgraph_analyze_compilation_unit): Likewise.
      	* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
      	* ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
      	(cgraph_early_inlinine): Make order garbage collected.
      	* Makefile.in (gt-ipa-inline): New garbagecollected file.
      
      From-SVN: r115763
      Jan Hubicka committed
  7. 06 Feb, 2006 1 commit
    • tree-vrp.c (execute_vrp): Do not pass dump argument to. · 10d22567
      	* tree-vrp.c (execute_vrp): Do not pass dump argument to.
      	loop_optimizer_init and loop_optimizer_finalize
      	* tree-ssa-sink.c (execute_sink_code): Ditto.
      	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
      	* tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init,
      	tree_ssa_loop_done): Ditto.
      	* tree-ssa-pre.c (init_pre, fini_pre): Ditto.
      	* sched-ebb.c: Include output.h.
      	(schedule_ebbs): Do not use dump argument.
      	* value-prof.h (struct profile_hooks): Remove profile_dump_file.
      	* loop.c (loop_dump_stream): Removed.
      	(loop_optimize, rest_of_handle_loop_optimize): Do not use dump
      	argument.
      	(scan_loop, move_movables, find_and_verify_loops, mark_loop_jump,
      	emit_prefetch_instructions, loop_bivs_find, loop_bivs_check,
      	final_biv_value, loop_biv_eliminable_p, loop_givs_rescan,
      	loop_iterations, strength_reduce, record_biv, record_giv,
      	final_giv_value, check_final_value, check_ext_dependent_givs,
      	combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems,
      	try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use
      	dump_file instead of loop_dump_stream.
      	* ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call
      	argument dump_file.
      	* reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use
      	dump argument.
      	* flow.c (life_analysis, rest_of_handle_life): Ditto.
      	* haifa-sched.c: Include output.h
      	(schedule_insns, sched_init): Do not use dump argument.
      	* mode-switching.c (optimize_mode_switching): Ditto.
      	* modulo-sched.c (stats_file): Removed.
      	(print_node_sched_params): Do not call argument dump_file.
      	(sms_schedule_by_order, loop_canon_p, sms_schedule,
      	rest_of_handle_sms): Do not use dump argument.  Use dump_file instead
      	of stats_file.
      	* cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not
      	use dump argument.
      	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize,
      	rtl_loop_init, rtl_loop_done): Ditto.
      	* global.c (global_alloc, rest_of_handle_global_alloc): Ditto.
      	* predict.c (combine_predictions_for_bb, tree_estimate_probability):
      	Ditto.
      	* recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto.
      	* lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto.
      	* regmove.c (fixup_match_1, fixup_match_2, regmove_optimize,
      	rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto.
      	* emit-rtl.c (renumber_insns): Ditto.
      	* cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr,
      	expand_gimple_basic_block, tree_expand_cfg): Ditto.
      	* regclass.c (regclass): Ditto.
      	* tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts,
      	remove_ssa_form, rewrite_out_of_ssa): Ditto.
      	* reg-stack.c (compensate_edge, compensate_edges, convert_regs_1,
      	convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs):
      	Ditto.
      	* sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto.
      	* local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file
      	to regclass.
      	* gcse.c (gcse_file, debug_stderr): Removed.
      	(gcse_main, bypass_jumps, rest_of_handle_jump_bypass,
      	rest_of_handle_gcse): Do not use dump argument.
      	(cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets,
      	one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb,
      	pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass,
      	compute_code_hoist_vbeinout, compute_code_hoist_data,
      	one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores,
      	compute_store_table, build_store_vectors, insert_insn_start_bb,
      	insert_store, remove_reachable_equiv_notes, replace_store_insn,
      	store_motion): Use dump_file instead of gcse_file.
      	* ipa-type-escape.c (type_escape_execute): Remove debugging comments.
      	* profile.c (profile_dump_file): Removed.
      	(branch_prob): Use dump_file instead of profile_dump_file.
      	* ipa.c (cgraph_remove_unreachable_nodes): Do not call argument
      	dump_file.
      	* tree-ssa-copy.c (dump_copy_of): Ditto.
      	* rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass
      	dump file to life_analysis.
      	* bt-load.c (branch_target_load_optimize): Ditto.
      	* cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to
      	renumber_insns.
      	* rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs,
      	regclass, dbr_schedule): Declaration changed.
      	* sched-int.h (sched_init): Declaration changed.
      	* tree-profile.c (tree_profile_dump_file): Removed.
      	(tree_profile_hooks): Removed profile_dump_file hook.
      	* rtl-profile (rtl_profile_dump_file): Removed.
      	(rtl_profile_hooks): emoved profile_dump_file hook.
      	* cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration
      	changed.
      	* c-gimplify.c (c_genericize): Do not call local variable dump_file.
      	* tree-cfg.c (build_tree_cfg): Ditto.
      	* Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency.
      	* basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm):
      	Declaration changed.
      	* config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to
      	life_analysis and schedule_insns.
      	* config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to
      	life_analysis.
      	* config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to
      	dbr_schedule.
      	* config/mips/mips.c (mips_reorg): Ditto.
      	* config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to
      	schedule_ebbs.
      
      From-SVN: r110656
      Zdenek Dvorak committed
  8. 31 Jan, 2006 1 commit
    • tree-vrp.c: Use XNEW/XCNEW allocation wrappers. · 5ed6ace5
      2006-01-31  Marcin Dalecki  <martin@dalecki.de>
      
      	* tree-vrp.c: Use XNEW/XCNEW allocation wrappers.
      	* regrename.c: Ditto.
      	* tree-ssa-loop-im.c: Ditto.
      	* tree-dump.c: Ditto.
      	* tree-complex.c: Ditto.
      	* genrecog.c: Ditto.
      	* tree-ssa-threadupdate.c: Ditto.
      	* tracer.c: Ditto.
      	* java/class.c: Ditto.
      	* java/jcf-parse.c: Ditto.
      	* java/resource.c: Ditto.
      	* java/except.c: Ditto.
      	* java/jvspec.c: Ditto.
      	* java/jcf-write.c: Ditto.
      	* java/jcf-path.c: Ditto.
      	* java/gjavah.c: Ditto.
      	* java/zextract.c: Ditto.
      	* java/jcf-io.c: Ditto.
      	* java/jcf.h: Ditto.
      	* java/buffer.c: Ditto.
      	* java/lang.c: Ditto.
      	* java/parse-scan.y: Ditto.
      	* java/lex.c: Ditto.
      	* java/lex.h: Ditto.
      	* cfgloopmanip.c: Ditto.
      	* postreload-gcse.c: Ditto.
      	* tree-ssa-loop-manip.c: Ditto.
      	* postreload.c: Ditto.
      	* tree-ssa-loop-ch.c: Ditto.
      	* loop.c: Ditto.
      	* ipa-cp.c: Ditto.
      	* cppspec.c: Ditto.
      	* diagnostic.c: Ditto.
      	* final.c: Ditto.
      	* genoutput.c: Ditto.
      	* gcc.c: Ditto.
      	* cfghooks.c: Ditto.
      	* cfgloopanal.c: Ditto.
      	* objc/objc-act.c: Ditto.
      	* gcov.c: Ditto.
      	* genextract.c: Ditto.
      	* genautomata.c: Ditto.
      	* pretty-print.c: Ditto.
      	* genemit.c: Ditto.
      	* cgraphunit.c: Ditto.
      	* flow.c: Ditto.
      	* df-scan.c: Ditto.
      	* haifa-sched.c: Ditto.
      	* dominance.c: Ditto.
      	* dbxout.c: Ditto.
      	* tree-ssa-loop-ivopts.c: Ditto.
      	* df-core.c: Ditto.
      	* mode-switching.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* graph.c: Ditto.
      	* ipa-pure-const.c: Ditto.
      	* cse.c: Ditto.
      	* fix-header.c: Ditto.
      	* web.c: Ditto.
      	* tree-stdarg.c: Ditto.
      	* ipa-utils.c: Ditto.
      	* loop-init.c: Ditto.
      	* ipa-inline.c: Ditto.
      	* cfganal.c: Ditto.
      	* global.c: Ditto.
      	* alloc-pool.c: Ditto.
      	* dwarf2out.c: Ditto.
      	* opts.c: Ditto.
      	* genattrtab.c: Ditto.
      	* tree-ssa-loop-ivcanon.c: Ditto.
      	* predict.c: Ditto.
      	* timevar.c: Ditto.
      	* lcm.c: Ditto.
      	* fortran/gfortranspec.c: Ditto.
      	* regmove.c: Ditto.
      	* local-alloc.c: Ditto.
      	* langhooks.c: Ditto.
      	* function.c: Ditto.
      	* tree-vectorizer.c: Ditto.
      	* gcse.c: Ditto.
      	* ipa-type-escape.c: Ditto.
      	* alias.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* profile.c: Ditto.
      	* ipa.c: Ditto.
      	* tree-data-ref.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* treelang/treetree.c: Ditto.
      	* calls.c: Ditto.
      	* bt-load.c: Ditto.
      	* ggc-common.c: Ditto.
      	* except.c: Ditto.
      	* coverage.c: Ditto.
      	* cselib.c: Ditto.
      	* tree-cfgcleanup.c: Ditto.
      	* tree-ssa-pre.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* loop-invariant.c: Ditto.
      	* loop-iv.c: Ditto.
      	* ipa-prop.c: Ditto.
      	* print-tree.c: Ditto.
      	* conflict.c: Ditto.
      	* ggc-page.c: Ditto.
      	* sched-deps.c: Ditto.
      	* regclass.c: Ditto.
      	* tree-object-size.c: Ditto.
      	* combine.c: Ditto.
      	* bb-reorder.c: Ditto.
      	* resource.c: Ditto.
      	* var-tracking.c: Ditto.
      	* cfgloop.c: Ditto.
      	* df-problems.c: Ditto.
      	* reg-stack.c: Ditto.
      	* tlink.c: Ditto.
      	* gccspec.c: Ditto.
      	* sched-rgn.c: Ditto.
      	* tree-ssa-structalias.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* config/darwin-c.c: Ditto.
      	* config/darwin.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* collect2.c: Ditto.
      	* reload1.c: Ditto.
      
      From-SVN: r110446
      Marcin Dalecki committed
  9. 28 Jun, 2005 1 commit
    • cgraph.c (cgraph_remove_node): Do not release function bodies until full cgraph is built. · d63db217
      	* cgraph.c (cgraph_remove_node): Do not release function bodies until
      	full cgraph is built.
      	* cgraph.h (cgraph_decide_inlining_incrementally): Add early argument.
      	* cgraphunit.c (cgraph_finalize_function): Update call of
      	cgraph_decide_inlining_incrementally.
      	(initialize_inline_failed): Break out of ...
      	(cgraph_analyze_function): ... here.
      	(rebuild_cgraph_edges): New function.
      	(pass_rebuild_cgraph_edges): New pass.
      	* common.opt (fearly-inlining): New flag.
      	* ipa-inline.c: Include ggc.h
      	(cgraph_clone_inlined_nodes): Avoid re-using of original copy
      	when cgraph is not fully built.
      	(cgraph_decide_inlining_incrementally): Add early mode.
      	(cgraph_early_inlining): New function.
      	(cgraph_gate_early_inlining): Likewise.
      	(pass_early_ipa_inline): New pass.
      	* ipa.c (cgraph_postorder): NULLify aux pointer.
      	* tree-inline.c (expand_call_inline): Avoid warning early.
      	* tree-optimize.c (pass_early_local_passes): New.
      	(execute_cleanup_cfg_pre_ipa): New.
      	(pass_cleanup_cfg): New.
      	(register_dump_files): Fix handling subpasses of IPA pass.
      	(init_tree_optimization_passes): Add early passes.
      	(execute_ipa_pass_list): Fix handling of subpasses of IPA pass.
      	* passes.h (pass_early_tree_profile, pass_rebuild_cgraph_edges,
      	pass_early_ipa_inline): New passes.
      	* tree-profile.c (do_early_tree_profiling, pass_early_tree_profile): New.
      
      	* invoke.texi: Document early-inlining.
      
      From-SVN: r101369
      Jan Hubicka committed
  10. 25 Jun, 2005 1 commit
  11. 22 Apr, 2005 1 commit
    • Makefile.in (ipa.o, [...]): New files. · ca31b95f
      	* Makefile.in (ipa.o, ipa-inline.o): New files.
      	* cgraph.h (cgraph_remove_unreachable_nodes, cgraph_postorder,
      	cgraph_decide_inlining_incrementally, cgraph_clone_inlined_nodes,
      	cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
      	* cgraphunit.c (cgraph_default_inline_p, cgraph_decide_inlining_incrementally,
      	ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns,
      	cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
      	cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
      	cgraph_mark_inline, cgraph_check_inline_limits,
      	cgraph_default_inline_p, cgraph_recursive_inlining_p,
      	update_callee_keys, lookup_recursive_calls,
      	cgraph_decide_recursive_inlining, cgraph_set_inline_failed,
      	cgraph_decide_inlining_of_small_functions, cgraph_decide_inlining,
      	cgraph_decide_inlining_incrementally, cgraph_gate_inlining,
      	pass_ipa_inline): Move to ipa-inline.c
      	(cgraph_postorder, cgraph_remove_unreachable_nodes): Move to ipa.c
      	* ipa.c: New file.
      	* ipa-inline.c: New file.
      
      From-SVN: r98548
      Jan Hubicka committed