1. 25 Nov, 2009 1 commit
    • Remove trailing white spaces. · b8698a0f
      2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* alias.c: Remove trailing white spaces.
      	* alloc-pool.c: Likewise.
      	* alloc-pool.h: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.def: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cif-code.def: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbgcnt.def: Likewise.
      	* dbgcnt.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* ddg.h: Likewise.
      	* defaults.h: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* double-int.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2asm.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* ebitmap.c: Likewise.
      	* ebitmap.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-dump.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genchecksum.c: Likewise.
      	* genconfig.c: Likewise.
      	* genflags.c: Likewise.
      	* gengtype-parse.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genmddeps.c: Likewise.
      	* genmodes.c: Likewise.
      	* genopinit.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graphds.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* gthr-nks.h: Likewise.
      	* gthr-posix.c: Likewise.
      	* gthr-posix.h: Likewise.
      	* gthr-posix95.h: Likewise.
      	* gthr-single.h: Likewise.
      	* gthr-tpf.h: Likewise.
      	* gthr-vxworks.h: Likewise.
      	* gthr.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* hooks.c: Likewise.
      	* hooks.h: Likewise.
      	* hosthooks.h: Likewise.
      	* hwint.h: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lambda-code.c: Likewise.
      	* lambda-mat.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* lambda.h: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcov.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-wpa-fixup.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omega.h: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts-common.c: Likewise.
      	* opts.c: Likewise.
      	* params.def: Likewise.
      	* params.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* predict.def: Likewise.
      	* pretty-print.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sel-sched.h: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* stub-objc.c: Likewise.
      	* sync-builtins.def: Likewise.
      	* target-def.h: Likewise.
      	* target.h: Likewise.
      	* targhooks.c: Likewise.
      	* targhooks.h: Likewise.
      	* timevar.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.def: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-operands.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* treestruct.def: Likewise.
      	* unwind-compat.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vec.c: Likewise.
      	* vec.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r154645
      H.J. Lu committed
  2. 16 Nov, 2009 1 commit
    • cgraph.c (cgraph_release_function_body): Update use of ipa_transforms_to_apply. · 0e3776db
      	* cgraph.c (cgraph_release_function_body): Update use of
      	ipa_transforms_to_apply.
      	(cgraph_remove_node): Remove ipa_transforms_to_apply.
      	* cgraph.h (struct cgraph_node): Add ipa_transforms_to_apply.
      	* cgraphunit.c (save_inline_function_body): Clear ipa_transforms for
      	copied body.
      	(cgraph_materialize_clone): Remove original if dead.
      	* lto-streamer-in.c (lto_read_body): Remove FIXME and
      	ipa_transforms_to_apply hack.
      	* function.h (struct function): Add ipa_transforms_to_apply.
      	* ipa.c (cgraph_remove_unreachable_nodes): Handle dead clone originals.
      	* tree-inline.c (copy_bb): Update sanity check.
      	(initialize_cfun): Do not copy ipa_transforms_to_apply.
      	(expand_call_inline): remove dead clone originals.
      	(tree_function_versioning): Merge transformation queues.
      	* passes.c (add_ipa_transform_pass): Remove.
      	(execute_one_ipa_transform_pass): Update ipa_transforms_to_apply
      	tracking.
      	(execute_all_ipa_transforms): Update.
      	(execute_one_pass): Update.
      
      	* lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
      
      From-SVN: r154200
      Jan Hubicka committed
  3. 13 Nov, 2009 1 commit
  4. 12 Nov, 2009 3 commits
  5. 11 Nov, 2009 1 commit
  6. 10 Nov, 2009 1 commit
    • tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field. · 2c5721d9
      2009-11-10  Martin Jambor  <mjambor@suse.cz>
      
      	* tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field.
      	(execute_all_ipa_stmt_fixups): Declare.
      	* ipa-cp.c (pass_ipa_cp): Added stmt_fixup value.
      	* ipa-inline.c (pass_ipa_inline): Likewise.
      	* ipa-pure-const.c (pass_ipa_pure_cons): Likewise.
      	* ipa-reference.c (pass_ipa_reference): Likewise.
      	* ipa.c (pass_ipa_whole_program_visibility): Likewise.
      	* lto-streamer-out.c (pass_ipa_lto_gimple_out): Likewise.
      	(pass_ipa_lto_finish_out): Likewise.
      	* lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Likewise.
      	* passes.c (execute_ipa_stmt_fixups): New function.
      	(execute_all_ipa_stmt_fixups): New function.
      	* lto-streamer-in.c (input_function): Call execute_all_ipa_stmt_fixups.
      
      From-SVN: r154064
      Martin Jambor committed
  7. 08 Oct, 2009 1 commit
  8. 07 Oct, 2009 1 commit
    • lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has no address taken. · b20996ff
      	* lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
      	no address taken.
      	* cgraph.c (cgraph_mark_needed_node): Assert that inline clones are
      	never needed.
      	(cgraph_clone_node): Clear externally_visible flag for clones.
      	* cgraph.h (cgraph_only_called_directly_p,
      	cgraph_can_remove_if_no_direct_calls_p): New predicates.
      	* tree-pass.h (pass_ipa_whole_program_visibility): Declare.
      	* ipa-cp.c (ipcp_cloning_candidate_p): Use new predicate.
      	(ipcp_initialize_node_lattices, ipcp_estimate_growth,
      	ipcp_insert_stage): Likwise.
      	* cgraphunit.c (cgraph_decide_is_function_needed): Do not compute
      	externally_visible flag.
      	(verify_cgraph_node): Verify that inline clones look right.
      	(process_function_and_variable_attributes): Do not set
      	externally_visible flags.
      	(ipa_passes): Avoid executing small_ipa_passes at LTO stage; they've
      	been already run.
      	* lto-cgraph.c (lto_output_node): Assert that inline clones are not
      	boundaries.
      	* ipa-inline.c (cgraph_clone_inlined_nodes): Use new predicates;
      	clear externally_visible when turning into inline clones
      	(cgraph_mark_inline_edge): Use new predicates.
      	(cgraph_estimate_growth): Likewise.
      	(cgraph_decide_inlining): Likewise.
      	* ipa.c (cgraph_postorder): Likewise.
      	(cgraph_remove_unreachable_nodes): Likewise; sanity check
      	that inline clones are not needed.
      	(cgraph_externally_visible_p): New predicate.
      	(function_and_variable_visibility): Add whole_program parameter;
      	always set externally_visible flag; handle COMDAT function
      	privatization.
      	(local_function_and_variable_visibility): New function.
      	(gate_whole_program_function_and_variable_visibility): New function.
      	(whole_program_function_and_variable_visibility): New function.
      	(pass_ipa_whole_program_visibility): New function.
      	* passes.c  (init_optimization_passes): Add whole program visibility
      	pass.
      	(do_per_function_toporder, function_called_by_processed_nodes_p): Do
      	not care about needed/reachable flags.
      	* varpool.c: Include flags.h
      	(decide_is_variable_needed): When doing LTO assume whole-program mode.
      	(varpool_finalize_decl): When we are in LTO read-back, all variables
      	are analyzed.
      	(varpool_analyze_pending_decls): Skip analyzis of analyzed vars.
      
      	* lto/lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
      	ltrans stage; explain why this is needed and should not.
      
      From-SVN: r152520
      Jan Hubicka committed
  9. 03 Sep, 2009 1 commit
    • [multiple changes] · 4537ec0c
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* c-lang.c (lang_hooks): Remove const qualifier.
      
      java/ChangeLog
      
      	* lang.c (lang_hooks): Remove const qualifier.
      
      objc/ChangeLog
      
      	* objc-lang.c (lang_hooks): Remove const qualifier.
      
      objcp/ChangeLog
      
      	* objcp-lang.c (lang_hooks): Remove const qualifier.
      
      ada/ChangeLog
      
      	* gcc-interface/misc.c (lang_hooks): Remove const qualifier.
      
      fortran/ChangeLog
      
      	* f95-lang.c (lang_hooks): Remove const qualifier.
      
      cp/ChangeLog
      
      	* cp-lang.c (lang_hooks): Remove const qualifier.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* cgraph.c (cgraph_node_for_decl): New.
      	* cgraph.h (cgraph_node_for_decl): Declare.
      	* tree.c (host_integerp): Return 0 if T is NULL.
      
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* tree.h (struct alias_pair): Move from varasm.c.
      	(alias_pairs): Likewise.
      	(TYPE_MAXVAL): Define.
      	(TYPE_MINVAL): Define.
      	(iterative_hash_host_wide_int): Declare.
      	(remove_unreachable_alias_pairs): Declare.
      	* tree-pass.h (pass_ipa_free_lang_data): Declare.
      	* diagnostic.c (default_diagnostic_starter): Make extern.
      	(default_diagnostic_finalizer): Make extern.
      	* diagnostic.h (default_diagnostic_starter): Declare.
      	(default_diagnostic_finalizer): Declare.
      	(default_tree_printer): Declare.
      	* toplev.c (default_tree_printer): Make extern.
      
      
      2009-09-01  Richard Guenther  <rguenther@suse.de>
      	    Diego Novillo  <dnovillo@google.com>
      
      	* cgraph.c (cgraph_add_new_function): Remove gimplification.
      	* cgraphunit.c (cgraph_expand_function): Do not emit
      	associated thunks from here.
      	(cgraph_emit_thunks): New.
      	(cgraph_optimize): Call it.
      	Return if any IPA pass finds an error.
      	* varasm.c (finish_aliases_1): Ignore errorneous aliases used
      	by thunks.
      
      
      2009-09-01  Simon Baldwin  <simonb@google.com>
      	    Rafael Espindola  <espindola@google.com>
      	    Richard Guenther  <rguenther@suse.de>
      	    Doug Kwan  <dougkwan@google.com>
      	    Diego Novillo  <dnovillo@google.com>
      
      	* tree.c: Include tree-pass.h, langhooks-def.h,
      	diagnostic.h, cgraph.h, timevar.h, except.h and debug.h.
      	(free_lang_data_in_type): New.
      	(need_assembler_name_p): New.
      	(free_lang_data_in_block): New.
      	(free_lang_data_in_decl): New.
      	(struct free_lang_data_d): New.
      	(add_tree_to_fld_list): New.
      	(find_decls_types_r): New.
      	(get_eh_types_for_runtime): New.
      	(find_decls_types_in_eh_region): New.
      	(find_decls_types_in_node): New.
      	(find_decls_types_in_var): New.
      	(free_lang_data_in_cgraph): New.
      	(free_lang_data): New.
      	(gate_free_lang_data): New.
      	(pass_ipa_free_lang_data): New.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* timevar.def (TV_IPA_FREE_LANG_DATA): Define.
      	* langhooks.h (struct lang_hooks): Add field free_lang_data.
      	(lang_hooks): Remove const qualifier.
      	* ipa.c (cgraph_remove_unreachable_nodes): Call
      	remove_unreachable_alias_pairs.
      	* except.c (add_type_for_runtime): Check if TYPE has
      	already been converted.
      	(lookup_type_for_runtime): Likewise.
      	(check_handled): Handle converted types.
      	* varasm.c (remove_unreachable_alias_pairs): New.
      	* gimple.c: Include demangle.h.
      	(gimple_decl_printable_name): New.
      	(gimple_fold_obj_type_ref): New.
      	* gimple.h (gimple_decl_printable_name): Declare.
      	(gimple_fold_obj_type_ref): Declare.
      	* passes.c (init_optimization_passes): Add pass
      	pass_ipa_free_lang_data.
      	* langhooks-def.h (LANG_HOOKS_FREE_LANG_DATA): Define.
      	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_FREE_LANG_DATA.
      
      testsuite/ChangeLog
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* gcc.dg/gomp/combined-1.c: Adjust expected pattern.
      	* g++.dg/tree-prof/inline_mismatch_args.C: Likewise.
      	* g++.dg/warn/unit-1.C: Likewise.
      	* g++.dg/ipa/iinline-1.C: Likewise.
      	* g++.dg/template/cond2.C: Adjust expected line location for the
      	error.
      	* g++.dg/template/pr35240.C: Likewise.
      
      
      cp/ChangeLog
      
      2009-09-01  Doug Kwan  <dougkwan@google.com>
      
      	* tree.c (cp_fix_function_decl_p): New.
      	(cp_free_lang_data): New.
      
      2009-09-01  Diego Novillo  <dnovillo@google.com>
      
      	* Make-lang.in (decl2.o): Add dependency on $(POINTER_SET_H).
      	* decl2.c: Include pointer-set.h.
      	(collect_candidates_for_java_method_aliases): New.
      	(cp_write_global_declarations): Call it.
      	Add local variable CANDIDATES.  If set, call
      	build_java_method_aliases.
      	(build_java_method_aliases): Add argument CANDIDATES.
      	Use it to determine if FNDECL should get a hidden alias.
      	* cp-objcp-common.h (LANG_HOOKS_FREE_LANG_DATA): Define.
      	* cp-tree.h (cp_free_lang_data): Declare.
      
      2009-09-03  Richard Guenther  <rguenther@suse.de>
      
      	* method.c (use_thunk): Use cgraph_finalize_function to hand
      	off thunks to the cgraph.
      	* semantics.c (emit_associated_thunks): Do not emit thunks
      	for really extern functions.
      
      From-SVN: r151360
      Diego Novillo committed
  10. 10 May, 2009 1 commit
    • cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node. · 39ff5a96
      	* cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
      	* cgraph.c (cgraph_mark_address_taken_node): New function.
      	(dump_cgraph_node): Dump new flag.
      	* cgraph.h (struct cgraph_node): Add address_taken.
      	(cgraph_mark_address_taken_node): New function.
      	* cp/decl2.c (cxx_callgraph_analyze_expr): Use
      	cgraph_mark_address_taken.
      	* ipa.c (cgraph_postorder): Prioritize functions with address taken
      	since new direct calls can be born.
      
      From-SVN: r147342
      Jan Hubicka committed
  11. 09 May, 2009 1 commit
  12. 08 May, 2009 1 commit
    • cgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument; handle… · 9187e02d
      cgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument; handle correctly when profile is absent.
      
      	* cgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument;
      	handle correctly when profile is absent.
      	(build_cgraph_edges): Update.
      	(rebuild_cgraph_edges): Update.
      	* cgraph.c: Do not include varrau.h 
      	(cgraph_set_call_stmt_including_clones, cgraph_create_edge_including_clones):
      	New function
      	(cgraph_update_edges_for_call_stmt_node): New stati cfunction.
      	(cgraph_update_edges_for_call_stmt): Handle clones.
      	(cgraph_remove_node): Handle clone tree.
      	(cgraph_remove_node_and_inline_clones): New function.
      	(dump_cgraph_node): Dump clone tree.
      	(cgraph_clone_node): Handle clone tree.
      	(clone_function_name): Bring here from tree-inline.c
      	(cgraph_create_virtual_clone): New function.
      	* cgraph.h (ipa_replace_map): Move ehre from ipa.h
      	(cgraph_clone_info): New function
      	(strut cgraph_node): Add clone_info and new clone tree pointers.
      	(cgraph_remove_node_and_inline_clones, cgraph_set_call_stmt_including_clones,
      	cgraph_create_edge_including_clones, cgraph_create_virtual_clone): Declare.
      	(cgraph_function_versioning): Use VEC argument.
      	(compute_call_stmt_bb_frequency): Update prototype.
      	(cgraph_materialize_all_clones): New function.
      	* ipa-cp.c (ipcp_update_cloned_node): Remove.
      	(ipcp_create_replace_map): Update to VECtors.
      	(ipcp_update_callgraph): Use virtual clones.
      	(ipcp_update_bb_counts, ipcp_update_edges_counts): Remove.
      	(ipcp_update_profiling): Do not update local profiling.
      	(ipcp_insert_stage): Use VECtors and virtual clones.
      	* cgraphunit.c (verify_cgraph_node): Verify clone tree.
      	(clone_of_p): New function.
      	(cgraph_preserve_function_body_p): Use clone tree.
      	(cgraph_optimize): Materialize clones.
      	(cgraph_function_versioning): Update for VECtors.
      	(save_inline_function_body): Use clone tree.
      	(cgraph_materialize_clone, cgraph_materialize_all_clones): New functions.
      	* ipa-inline.c (cgraph_default_inline_p): Use analyzed flags.
      	* ipa.c: Include gimple.h.
      	(cgraph_remove_unreachable_nodes): Use clone tree.
      	* ipa-prop.c (ipa_note_param_call): Update call of compute_call_stmt_bb_frequency.
      	* ipa-prop.h (ipa_replace_map): Move to cgraph.h.
      	* tree-inline.c: Do not include varray.h; do not include gt-tree-inline.h
      	(copy_bb): Handle updating of clone tree; add new edge when new call
      	appears.
      	(expand_call_inline): Be strict about every call having edge.
      	(clone_fn_id_num, clone_function_name): Move to cgraph.c.
      	(delete_unreachable_blocks_update_callgraph): New function.
      	(tree_function_versioning): Use VECtors; always remove unreachable blocks
      	and fold conditionals.
      	* tree-inline.h: Do not include varray.h
      	(tree_function_versioning): Remove.
      	* Makefile.in (GTFILES): Remove tree-inline.c
      	* passes.c (do_per_function): Do only functions having body.
      	* ipa-struct-reorg.c (do_reorg_1, collect_data_accesses): Handle cone tree.
      
      From-SVN: r147294
      Jan Hubicka committed
  13. 20 Apr, 2009 1 commit
    • cgraph.h (cgraph_node_ptr): New type for vector functions. · fed5ae11
      	* cgraph.h (cgraph_node_ptr): New type for vector functions.
      	(struct cgraph_node_set_def): New type.
      	(cgraph_node_set) New type. Also declare vector functions.
      	(struct cgraph_node_set_element_def): New type.
      	(cgraph_node_set_element): Ditto.
      	(cgraph_node_set_iterator): New iterator type.
      	(cgraph_node_set_new, cgraph_node_set_find, cgraph_node_set_add,
      	cgraph_node_set_remove, dump_cgraph_node_set,
      	debug_cgraph_node_set): New prototypes.
      	(csi_end_p, csi_next, csi_node, csi_start, cgraph_node_in_set_p,
      	cgraph_node_set_size): New inlines.
      	* tree-pass.h (struct cgraph_node_set_def): New decl to avoid
      	including cgraph.h.
      	(struct ipa_opt_pass): Add struct cgraph_node_set_def
      	argument to function 'write_summary'.
      	* ipa.c: Include ggc.h.
      	(hash_cgraph_node_set_element,
      	eq_cgraph_node_set_element, cgraph_node_set_new,
      	cgraph_node_set_add, cgraph_node_set_remove,
      	cgraph_node_set_find, dump_cgraph_node_set,
      	debug_cgraph_node_set): New functions.
      	* Makefile.in (ipa.o): Add dependency on GGC_H.
      
      From-SVN: r146418
      Doug Kwan committed
  14. 06 Jun, 2008 1 commit
    • cgraph.c: Fix typos in comments. · fa10beec
      gcc/
      	* cgraph.c: Fix typos in comments.
      	(cgraph_availability_names): Fix string typo.
      	* fold-const.c: Fix typos in comments.
      	(fold_binary): Fix typo in warning.
      	* genautomata.c: Fix typos in comments.
      	(check_presence_pattern_sets): Fix typo in local variable.
      	(output_description): Fix typo in output.
      	* ggc-zone.c (ggc_pch_finish): Fix typo in error message.
      	* hwint.h: Likewise.
      	* matrix-reorg.c (check_allocation_function): Likewise.
      	* omega.c (smooth_weird_equations): Likewise.
      	* auto-inc-dec.c: Fix typos in comments.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* c-common.c: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* coverage.c: Likewise.
      	* dbxout.c: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dfp.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* dse.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* gcc.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattrtab.c: Likewise.
      	* ggc-page.c: Likewise.
      	* gimplify.c: Likewise.
      	* gthr-lynx.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* mips-tfile.c: Likewise.
      	* mkmap-flat.awk: Likewise.
      	* mkmap-symver.awk: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts.c: Likewise.
      	* passes.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* pretty-print.h: Likewise.
      	* profile.c: Likewise.
      	* protoize.c: Likewise.
      	* ra-conflict.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regs.h: Likewise.
      	* reload.c: Likewise.
      	* rtl-error.c: Likewise.
      	* rtlanal.c: Likewise.
      	* scan.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* see.c: Likewise.
      	* stmt.c: Likewise.
      	* target.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-alias-warnings.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-vect-analyze.c: Likewise.
      	* tree-vect-transform.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vn.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* unwind-dw2-fde.c: Likewise.
      	* unwind.inc: Likewise.
      	* value-prof.c: Likewise.
      	* vmsdbgout.c: Likewise.
      
      From-SVN: r136425
      Ralf Wildenhues committed
  15. 07 May, 2008 1 commit
    • cgraph.c (dump_cgraph_node): Update. · 95622280
      	* cgraph.c (dump_cgraph_node): Update.
      	* cgraph.h (cgraph_local_info): Break out inline summary.
      	* cgraphunit.c (cgraph_process_new_functions): Use inliner analysis
      	hook.
      	* ipa-inline (inline_summary): New accestor function.
      	(cgraph_clone_inlined_nodes, cgraph_check_inline_limits,
      	cgraph_decide_inlining, compute_inline_parameters): Update.
      	* ipa.c (cgraph_remove_unreachable_nodes): Remove statistics.
      
      From-SVN: r135037
      Jan Hubicka committed
  16. 19 Mar, 2008 1 commit
    • re PR other/35094 (RTL dump file letters hosed and partly undocumented) · 8ddbbcae
      	* gcc.dg/20050811-2.c: Update dumping flags.
      	* gcc.dg/sms-2.c: Update dumping flags.
      	* gcc.dg/var-expand1.c: Update dumping flags.
      	* gcc.dg/var-expand3.c: Update dumping flags.
      	* gcc.dg/pr30957-1.c: Update dumping flags.
      	* gcc.dg/20050811-1.c: Update dumping flags.
      	* gcc.dg/cpp/cmdlne-dI-M.C: Do not xfail.
      	* gcc.dg/cpp/cmdlne-dM-M.C: Do not xfail.
      
      	PR other/35094
      	* toplev.c (decode_d_option): Handle all CPP flags.
      	* tree-vrp.c: Update tree_pass descriptors.
      	* regrename.c: Update tree_pass descriptors.
      	* fwprop.c: Update tree_pass descriptors.
      	* doc/invoke.texi: Remove documentation of dropped -d? flags.
      	* tree-into-ssa.c: Update tree_pass descriptors.
      	* tree-dump.c: Update tree_pass descriptors.
      	* tree-complex.c: Update tree_pass descriptors.
      	* tree-dump.h: Update tree_pass descriptors.
      	* see.c: Update tree_pass descriptors.
      	* cgraphbuild.c: Update tree_pass descriptors.
      	* tracer.c: Update tree_pass descriptors.
      	* tree-loop-distribution.c: Update tree_pass descriptors.
      	* cgraph.c: Update tree_pass descriptors.
      	* postreload-gcse.c: Update tree_pass descriptors.
      	* postreload.c: Update tree_pass descriptors.
      	* tree-ssa-loop-ch.c: Update tree_pass descriptors.
      	* tree-tailcall.c: Update tree_pass descriptors.
      	* tree-pass.h (tree_opt_pass): Rename to ...
      	(opt_pass) ... this one; add "type" field and remove letter field.
      	(gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
      	(execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
      	all_lowering_passes): Update declaration.
      	* ipa-cp.c: Update tree_pass descriptors.
      	* final.c: Update tree_pass descriptors.
      	* omp-low.c: Update tree_pass descriptors.
      	* tree-ssa-dse.c: Update tree_pass descriptors.
      	* ipa-reference.c: Update tree_pass descriptors.
      	* tree-ssa-uncprop.c: Update tree_pass descriptors.
      	* auto-inc-dec.c: Update tree_pass descriptors.
      	* reorg.c: Update tree_pass descriptors.
      	* cgraphunit.c: Update tree_pass descriptors.
      	* tree-ssa-copyrename.c: Update tree_pass descriptors.
      	* tree-ssa-ccp.c: Update tree_pass descriptors.
      	* df-core.c: Update tree_pass descriptors.
      	* mode-switching.c: Update tree_pass descriptors.
      	* tree-nomudflap.c: Update tree_pass descriptors.
      	* modulo-sched.c: Update tree_pass descriptors.
      	* ipa-pure-const.c: Update tree_pass descriptors.
      	* cse.c: Update tree_pass descriptors.
      	* web.c: Update tree_pass descriptors.
      	* tree-stdarg.c: Update tree_pass descriptors.
      	* tree-ssa-math-opts.c: Update tree_pass descriptors.
      	* tree-ssa-dom.c: Update tree_pass descriptors.
      	* tree-nrv.c: Update tree_pass descriptors.
      	* tree-ssa-alias.c: Update tree_pass descriptors.
      	* loop-init.c: Update tree_pass descriptors.
      	* gimple-low.c: Update tree_pass descriptors.
      	* ipa-inline.c: Update tree_pass descriptors.
      	* tree-ssa-sink.c: Update tree_pass descriptors.
      	* global.c: Update tree_pass descriptors.
      	* ifcvt.c: Update tree_pass descriptors.
      	* jump.c: Update tree_pass descriptors.
      	* predict.c: Update tree_pass descriptors.
      	* tree-ssa-loop.c: Update tree_pass descriptors.
      	* recog.c: Update tree_pass descriptors.
      	* dse.c: Update tree_pass descriptors.
      	* tree-ssa-ifcombine.c: Update tree_pass descriptors.
      	* tree-eh.c: Update tree_pass descriptors.
      	* regmove.c: Update tree_pass descriptors.
      	* local-alloc.c
      	* function.c: Update tree_pass descriptors.
      	* tree-vectorizer.c: Update tree_pass descriptors.
      	* gcse.c: Update tree_pass descriptors.
      	* ipa-type-escape.c: Update tree_pass descriptors.
      	* tree-if-conv.c: Update tree_pass descriptors.
      	* init-regs.c: Update tree_pass descriptors.
      	* ipa.c: Update tree_pass descriptors.
      	* tree-ssa-phiopt.c: Update tree_pass descriptors.
      	* rtl-factoring.c: Update tree_pass descriptors.
      	* lower-subreg.c: Update tree_pass descriptors.
      	* bt-load.c: Update tree_pass descriptors.
      	* tree-dfa.c: Update tree_pass descriptors.
      	* except.c: Update tree_pass descriptors.
      	* emit-rtl.c: Update tree_pass descriptors.
      	* cfgexpand.c: Update tree_pass descriptors.
      	* tree-cfgcleanup.c: Update tree_pass descriptors.
      	* cfgcleanup.c: Update tree_pass descriptors.
      	* tree-ssa-pre.c: Update tree_pass descriptors.
      	* tree-sra.c: Update tree_pass descriptors.
      	* tree-mudflap.c: Update tree_pass descriptors.
      	* tree-ssa-copy.c: Update tree_pass descriptors.
      	* cfglayout.c: Update tree_pass descriptors.
      	* tree-ssa-forwprop.c: Update tree_pass descriptors.
      	* tree-ssa-dce.c: Update tree_pass descriptors.
      	* tree-ssa.c: Update tree_pass descriptors.
      	* regclass.c: Update tree_pass descriptors.
      	* integrate.c: Update tree_pass descriptors.
      	* tree-optimize.c: Update tree_pass descriptors.
      	* tree-ssa-phiprop.c: Update tree_pass descriptors.
      	* tree-object-size.c: Update tree_pass descriptors.
      	* combine.c: Update tree_pass descriptors.
      	* tree-outof-ssa.c: Update tree_pass descriptors.
      	* bb-reorder.c: Update tree_pass descriptors.
      	* stack-ptr-mod.c: Update tree_pass descriptors.
      	* var-tracking.c: Update tree_pass descriptors.
      	* tree-profile.c: Update tree_pass descriptors.
      	* tree-vect-generic.c: Update tree_pass descriptors.
      	* reg-stack.c: Update tree_pass descriptors.
      	* sched-rgn.c: Update tree_pass descriptors.
      	* tree-ssa-structalias.c: Update tree_pass descriptors.
      	* tree-cfg.c: Update tree_pass descriptors.
      	* passes.c (current_pass): Update declaration.
      	(finish_optimization_passes): Update.
      	(all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
      	(register_one_dump_file, register_dump_files_1, next_pass_1):
       	Update arguments.
      	(init_optimization_passes): Update handling of new types.
      	(execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
      	* ipa-struct-reorg.c: Update tree_pass descriptors.
      	* tree-ssa-reassoc.c: Update tree_pass descriptors.
      	* combine-stack-adj.c: Update tree_pass descriptors.
      	* cfgrtl.c: Update tree_pass descriptors.
      	* dce.c: Update tree_pass descriptors.
      	* tree-ssanames.c: Update tree_pass descriptors.
      
      From-SVN: r133342
      Jan Hubicka committed
  17. 15 Feb, 2008 1 commit
  18. 26 Jul, 2007 1 commit
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 25 Jun, 2005 1 commit
  28. 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