1. 20 Feb, 2009 1 commit
  2. 11 Oct, 2008 1 commit
    • re PR middle-end/37448 (cannot compile big function) · 57512f53
      2008-10-11  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/37448
      	* df.h: (df_ref_class): New enum.
      	(DF_REF_TYPE_NAMES, df_ref_extract): Removed.
      	(struct df_ref): Replaced with union df_ref_d.
      	(df_base_ref, df_artificial_ref, df_regular_ref, df_extract_ref):
      	New members of df_ref_d union.
      	(DF_REF_REAL_REG, DF_REF_REGNO, DF_REF_REAL_LOC, DF_REF_REG,
      	DF_REF_LOC, DF_REF_BB, DF_REF_INSN_INFO, DF_REF_INSN,
      	DF_REF_CLASS, DF_REF_TYPE, DF_REF_CHAIN, DF_REF_ID, DF_REF_FLAGS,
      	DF_REF_ORDER, DF_REF_IS_ARTIFICIAL, DF_REF_NEXT_REG,
      	DF_REF_PREV_REG, DF_REF_EXTRACT_WIDTH, DF_REF_EXTRACT_OFFSET,
      	DF_REF_EXTRACT_MODE): Replaced definition to access union
      	df_ref_d.
             	(DF_MWS_REG_DEF_P, DF_MWS_REG_USE_P, DF_MWS_TYPE): New macros.
      	(df_scan_bb_info, df_bb_regno_first_def_find,
      	df_bb_regno_last_def_find, df_find_def, df_find_use,
      	df_refs_chain_dump, df_regs_chain_dump, df_ref_debug,
      	debug_df_ref, df_chain_create, df_chain_unlink, df_chain_copy,
      	df_ref_create, df_ref_remove, df_compute_accessed_bytes,
      	df_get_artificial_defs, df_get_artificial_uses, union_defs)
      	Replaced struct df_ref * with df_ref.
      	* df-scan.c (df_collection_rec, df_null_ref_rec,
      	df_ref_chain_delete_du_chain, df_ref_chain_delete, df_install_ref,
      	df_grow_ref_info, df_ref_create, df_reg_chain_unlink,
      	df_ref_compress_rec, df_ref_remove, df_ref_chain_delete_du_chain,
      	df_ref_chain_delete, df_free_collection_rec, df_insn_rescan,
      	df_reorganize_refs_by_reg_by_reg,
      	df_reorganize_refs_by_reg_by_insn, df_reorganize_refs_by_reg,
      	df_ref_change_reg_with_loc_1, df_notes_rescan, df_swap_refs,
      	df_sort_and_compress_refs, df_install_ref, df_install_refs,
      	df_ref_record, df_get_conditional_uses, df_get_call_refs,
      	df_bb_refs_record, df_exit_block_uses_collect,
      	df_record_exit_block_uses, df_reg_chain_mark,
      	df_reg_chain_verify_unmarked, df_refs_verify): Replaced struct
      	df_ref * with df_ref.
      	(df_ref_record, df_uses_record, df_ref_create_structure): Added
      	df_ref_class parameter.
      	(df_scan_problem_data): Added new pools for different types of
      	refs.
      	(df_scan_free_internal, df_scan_alloc, df_free_ref,
      	df_ref_create_structure): Processed new ref pools.
      	(df_scan_start_dump): Added counts of refs and insns.
      	(df_ref_create, df_notes_rescan, df_def_record_1, df_uses_record,
      	df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
      	df_entry_block_defs_collect, df_exit_block_uses_collect): Added
      	code to pass df_ref_class down to ref creation functions.
      	(df_reg_chain_unlink, df_ref_remove, df_ref_change_reg_with_loc_1,
      	df_reg_chain_mark): Use macros to hide references to df_refs.
      	(df_ref_chain_change_bb): Removed.
      	(df_insn_change_bb): Remove calls to df_ref_insn_change_bb.
      	(df_ref_equal_p, df_ref_compare, df_ref_create_structure):
      	Enhanced to understand df_ref union structure.
      	* fwprop.c (local_ref_killed_between_p, use_killed_between,
      	all_uses_available_at, update_df, try_fwprop_subst,
      	forward_propagate_subreg, forward_propagate_and_simplify,
      	forward_propagate_into, fwprop, fwprop_addr): Replaced struct
      	df_ref * with df_ref.
      	(use_killed_between, all_uses_available_at): Use macros to hide
      	references to df_refs.
      	* regstat.c (regstat_bb_compute_ri,
      	regstat_bb_compute_calls_crossed): Replaced struct df_ref * with
      	df_ref.
      	* see.c (see_handle_relevant_defs, see_handle_relevant_uses,
      	see_handle_relevant_refs, see_analyze_one_def,
      	see_update_relevancy, see_propagate_extensions_to_uses): Replaced
      	struct df_ref * with df_ref.
      	* ra-conflict.c (record_one_conflict, clear_reg_in_live,
      	global_conflicts): Replaced struct df_ref * with df_ref.
      	* ddg.c (create_ddg_dep_from_intra_loop_link,
      	add_cross_iteration_register_deps, build_inter_loop_deps):
      	Replaced struct df_ref * with df_ref.
      	(create_ddg_dep_from_intra_loop_link,
      	add_cross_iteration_register_deps): Use macros to hide references
      	to df_refs.
      	* auto-inc-dec.c (find_inc, merge_in_block): Replaced struct
      	df_ref * with df_ref.
      	* df-core.c (df_bb_regno_first_def_find,
      	df_bb_regno_last_def_find, df_find_def, df_find_use,
      	df_refs_chain_dump, df_regs_chain_dump, df_ref_debug,
      	debug_df_ref): Replaced struct df_ref * with df_ref.
      	(df_mws_dump, df_ref_debug): Use macros to hide references to
      	df_refs.
      	* cse.c (cse_extended_basic_block): Replaced struct df_ref * with
      	df_ref.
      	* web.c (union_defs, entry_register, replace_ref, web_main):
      	Replaced struct df_ref * with df_ref.
      	(union_defs, replace_ref): Use macros to hide references to
      	df_refs.
      	* global.c (compute_regs_asm_clobbered, build_insn_chain):
      	Replaced struct df_ref * with df_ref.
      	* ifcvt.c (dead_or_predicable): Replaced struct df_ref * with
      	df_ref.
      	* sel-sched-ir.c (maybe_downgrade_id_to_use, setup_id_reg_sets, ):
      	Replaced struct df_ref * with df_ref.
      	* ira-lives.c (mark_ref_live, def_conflicts_with_inputs_p,
      	mark_ref_dead, process_bb_node_lives): Replaced struct df_ref *
      	with df_ref.
      	* local-alloc.c (block_alloc): Replaced struct df_ref * with
      	df_ref.
      	* df-byte-scan.c (df_compute_accessed_bytes_extract,
      	df_compute_accessed_bytes_strict_low_part,
      	df_compute_accessed_bytes_subreg, df_compute_accessed_bytes):
      	Replaced struct df_ref * with df_ref.
      	(df_compute_accessed_bytes): Use macros to hide references to
      	df_refs.
      	* init-regs.c (initialize_uninitialized_regs): Replaced struct
      	df_ref * with df_ref.
      	* loop-invariant.c (invariant_for_use, hash_invariant_expr_1,
      	check_dependency, check_dependencies, record_uses): Replaced
      	struct df_ref * with df_ref.
      	(invariant_for_use, check_dependency): Use macros to hide
      	references to df_refs.
      	* loop-iv.c (iv_analysis_loop_init, iv_get_reaching_def,
      	get_biv_step_1, get_biv_step, record_iv, iv_analyze_def,
      	iv_analyze, biv_p): Replaced struct df_ref * with df_ref.
      	(iv_analysis_loop_init, iv_get_reaching_def): Use macros to hide
      	references to df_refs.
      	* ira.c (compute_regs_asm_clobbered): Replaced struct df_ref * with df_ref.
      	* combine.c (create_log_links): Replaced struct df_ref * with df_ref.
      	* df-problems.c (df_rd_bb_local_compute_process_def,
      	df_lr_bb_local_compute, df_live_bb_local_compute, df_chain_create,
      	df_chain_unlink_1, df_chain_unlink, df_chain_copy,
      	df_chain_remove_problem, df_chain_create_bb_process_use,
      	df_chain_create_bb, df_chain_top_dump, df_chain_bottom_dump,
      	df_byte_lr_check_regs, df_byte_lr_bb_local_compute,
      	df_byte_lr_simulate_defs, df_byte_lr_simulate_uses,
      	df_byte_lr_simulate_artificial_refs_at_top,
      	df_byte_lr_simulate_artificial_refs_at_end, df_create_unused_note,
      	df_note_bb_compute, df_note_add_problem, df_simulate_defs,
      	df_simulate_uses, df_simulate_artificial_refs_at_end,
      	df_simulate_artificial_refs_at_top): Replaced struct df_ref * with df_ref.
      	(df_chain_dump): Use macros to hide
      	references to df_refs.
      	* config/mips/mips.c (r10k_simplify_address): Replaced struct
      	df_ref * with df_ref.
      	* dce.c (mark_nonreg_stores, delete_corresponding_reg_eq_notes,
      	mark_artificial_uses, mark_reg_dependencies,
      	byte_dce_process_block): Replaced struct df_ref * with df_ref.
      
      From-SVN: r141067
      Kenneth Zadeck committed
  3. 18 Jun, 2008 1 commit
    • df.h (struct df_ref): Replace 'insn' field with 'insn_info' field. · 50e94c7e
      	* df.h (struct df_ref): Replace 'insn' field with 'insn_info' field.
      	(DF_REF_INSN_INFO): New.
      	(DF_REF_INSN, DF_REF_INSN_UID): Rewrite macros using DF_REF_INSN_INFO.
      	(DF_REF_IS_ARTIFICIAL): Artificial refs are now identified as refs
      	with a NULL DF_REF_INSN_INFO.
      	(DF_INSN_INFO_GET, DF_INSN_INFO_SET): Renamed from DF_INSN_GET and
      	DF_INSN_SET.
      	(DF_INSN_INFO_LUID, DF_INSN_INFO_DEFS, DF_INSN_INFO_USES,
      	DF_INSN_INFO_EQ_USES): New.
      	(DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, DF_INSN_EQ_USES,
      	DF_INSN_UID_LUID, DF_INSN_UID_DEFS, DF_INSN_UID_USES,
      	DF_INSN_UID_EQ_USES): Rewrite using DF_INSN_INFO_* macros.
      	* df-core.c: Update comment for above changes.
      	(df_insn_debug_regno): Use DF_INSN_INFO_GET instead of INSN_UID and
      	DF_INSN_UID_* macros.
      	(df_ref_debug): Check for NULL DF_REF_INSN_INFO.
      	* df-scan.c (df_ref_record): Take a df_insn_info instead of an
      	insn rtx.  Update all callers.
      	(df_def_record_1, df_defs_record, df_uses_record, df_get_call_refs,
      	df_ref_create_structure, df_insn_refs_collect): Likewise.
      	(df_ref_equal_p): Compare DF_REF_INSN_INFO pointers for the refs.
      	* df-problems.c (df_chain_dump): Test for non-NULL DF_REF_INSN_INFO.
      	(df_live_bb_local_compute): Retrieve DF_INSN_INFO, use DF_INSN_INFO_*
      	macros to access the insn refs.
      	(df_chain_top_dump, df_chain_bottom_dump, df_byte_lr_alloc): Likewise.
      	* fwprop.c (use_killed_between): Use DF_REF_INSN accessor macro.
      	(all_uses_available): Retrieve DF_INSN_INFO for def_insn, and use it
      	for accessing the refs.
      	(try_fwprop_subst): Likewise.
      	* ddg.c (add_cross_iteration_register_deps): Use DF_REF_INSN macro.
      	* web.c (union_defs): Retrieve DF_INSN_INFO for def_insn, and use it
      	for accessing the refs.
      	* loop-invariant.c (invariant_for_use): Use DF_REF_BB macro.
      	(check_dependencies): Use DF_INSN_INFO_GET, use DF_INSN_INFO_* macros
      	to look at the insn refs.
      	(record_uses): Likewise.
      	* dce.c (deletable_insn_p): Don't tolerate artificial DEFs in this
      	function anymore.
      	(mark_artificial_uses): Don't mark_insn for artificial refs.
      	(mark_reg_rependencies): Likewise.
      
      	* doc/rtl.texi: Remove documentation of ADDRESSOF.
      
      From-SVN: r136885
      Steven Bosscher committed
  4. 17 Jun, 2008 1 commit
    • Remove libcall notes. · 4a8cae83
      	* see.c (see_analyse_one_def): Do not look for REG_LIBCALL and
      	REG_RETVAL notes.
      	(see_update_relevancy): Likewise.
      	* fwprop.c (try_fwprop_subst): Likewise.
      	* rtlanal.c (noop_move_p): Likewise.
      	* builtins.c (expand_buitlin_mathfn): Don't try to add REG_EQUAL
      	notes to non-existing libcall blocks.
      	* cse.c (cse_insn): Change prototype.  Don't update libcall notes.
      	Remove orig_set.
      	(cse_extended_basic_block): Don't track libcall and no-conflict notes.
      	(dead_libcall_p): Remove.
      	(delete_trivially_dead_insns): Don't use it.
      	* web.c (union_defs): Remove comment about keeping nops.
      	* gcse.c (hash_scan_insn): Don't take libcall pointers.
      	(compute_hash_table_work): Don't track libcall notes.
      	(do_local_cprop): Don't take libcall pointers.  Don't update
      	libcall notes.
      	(adjust_libcall_notes): Deleted.
      	(local_cprop_pass): Remove stack for nested libcalls (which shouldn't
      	ever have existed in the first place).
      	(replace_store_insn): Don't try to remove libcall notes.
      	* lower-subreg.c (move_libcall_note, move_retval_note): Deleted.
      	(resolve_reg_notes): Don't call them.
      	(resolve_simple_move): Likewise.
      	(decompose_multiword_subregs): Remove block handling REG_RETVAL notes.
      	Don't remove REG_RETVAL notes.
      	* emit-rtl.c (try_split): Don't update libcall notes.
      	(emit_copy_of_insn_after): Dito.
      	* cselib.c (cselib_current_insn_in_libcall): Remove.
      	(cselib_process_insn): Don't set/clear it.
      	(new_elt_loc_list): Don't record it.
      	(cselib_init): Don't initialize it.
      	* cselib.c (struct elt_loc_list): Remove in_libcall field.
      	* loop-invariant.c (find_invariant_insn): Don't look for libcall
      	notes.
      	* sched-deps.c (sched_analyze_insn): Don't group libcall blocks.
      	(sched_analyze): Don't set up deps->libcall_block_tail_insn.
      	(init_deps): Don't initialize it.
      	* sched-int.h (struct deps): Rremove libcall_block_tail_insn field.
      	* combine.c (delete_noop_moves): Don't update libcall notes.
      	(can_combine_p): Remove now pointless #if 0 block.
      	(try_combine): Remove another obsolete #if 0 block.
      	(distribute_notes): Don't distribute libcall notes.
      	* reg-notes.def (REG_LIBCALL, REG_RETVAL): Remove.
      	* dce.c (libcall_dead_p): Remove.
      	(delete_unmarked_insns): Don't handle libcall blocks.
      	(preserve_libcall_for_dce): Remove.
      	(prescan_insns_for_dce): Don't special-case libcall block insns.
      	* reload1 (reload): Don't handle libcall notes. 
      	* doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove
      	documentation.
      
      From-SVN: r136861
      Steven Bosscher committed
  5. 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
  6. 05 Sep, 2007 1 commit
    • regrename.c (pass_regrename, [...]): Add RTL sharing verifier. · a36b8a1e
      	* regrename.c (pass_regrename, pass_cprop_hardreg): Add RTL sharing
      	verifier.
      	* fwprop.c (pass_rtl_fwprop, pass_rtl_fwprop_add): Likewise.
      	* see.c (pass_see): Likewise.
      	* tracer.c (pass_tracer): Likewise.
      	* postreload-gcse.c (pass_gcse2): Likewise.
      	* postreload.c (pass_postreload_cse): Likewise.
      	* mode-switching.c (pass_mode_switching): Likewise.
      	* modulo-sched.c (pass_sms): Likewise.
      	* cse.c (cse_insn): Likewise.
      	* web.c (pass_web): Likweise.
      	* combine-stack-adj.c (pass_stack_adjustments): Likewise.
      	* dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Likewise.
      	* loop-init.c (pass_rtl_loop_init): Likewise.
      	(pass_rtl_loop_done, pass_rtl_move_loop_, pass_rtl_unswitch,
      	pass_rtl_unroll_and, pass_rtl_doloop): Likewise.
      	* global.c (pass_global_alloc): Likewise.
      	* ifcvt.c (pass_rtl_ifcvt, pass_if_after_combine,
      	pass_if_after_reload): Likewise.
      	* reload.c (pass_peephole2, pass_split_for_shoren_branches): Likewise.
      	* dse.c (pass_rtl_dse1, pass_rtl_dse2): Likewise.
      	* regmove.c (pass_regmove): Likewise.
      	* function.c (pass_thread_prologugues_epilogues): Likewise.
      	* gcse.c (pass_gcse): Likewise.
      	* rtl-factoring.c (pass_rtl_seqabstr): Likewise.
      	* lower-subreg.c (pass_lower_subreg2): Likewise.
      	* bt-load.c (pass_branch_target_load): Likewise.
      	* emit-rtl.c (pass_unshare_all_rtl): Likewise.
      	* cfgcleanup.c (pass_jump, pass_jump2): Likewise.
      	* combine.c (pass_combine): Likewise.
      	* bb-reorder.c (pass_duplicate_comp, pass_reorder_blocks): Likewise.
      	(pass_partition_blocks): Likewise.
      	* var-tracking.c (pass_variable_track): Likewise.
      	* reg-stack.c (pass_stack_regs_run): Likewise.
      	* sched-rgn.c (pass_sched, pass_sched2): Likewise.
      	* passes.c (pass_postreload): Likewise.
      	(execute_function_todo): Add TODO_verify_rtl_sharing handling code.
      	* tree-pass.h (TODO_verify_rtl_sharing): New.
      	(TODO_update_ssa, TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
      	TODO_update_ssa_only_virtuals, TODO_remove_unused_locals,
      	TODO_set_props, TODO_df_finish, TODO_df_verify,
      	TODO_mark_first_instance, TODO_rebuild_alias): Renumber.
      
      From-SVN: r128126
      Jan Hubicka committed
  7. 26 Jul, 2007 1 commit
  8. 11 Jun, 2007 1 commit
  9. 04 May, 2006 1 commit
    • [multiple changes] · 8cd37d0b
      2006-05-04  Leehod Baruch  <leehod@il.ibm.com>
      
              * see.c: New file.
              * Makefile.in (OBJS-common): Add see.o.
              (see.o): Add dependencies.
              * common.opt (fsee): New flag for the see optimization was added.
              * opts.c (flag_see): Initialized.
              * passes.c (init_optimization_passes, pass_see): New pass.
              * rtl.h (see_main): Declaration as extern.
              * timevar.def (TV_SEE): New.
              * tree-pass.h (pass_see): Declaration as extern.
              * invoke.texi (-fsee): Document.
              * recog.c (validate_simplify_insn): New function.
              * recog.h (validate_simplify_insn): Declaration as extern.
              * df-problems.c (df_chain_dump): Check for NULL.
      
      2006-05-04  Kenneth Zadeck <zadeck@naturalbridge.com>
                  Daniel Berlin  <dberlin@dberlin.org>
      
              * cfgrtl.c (insert_insn_bb_end_new): New function.
              * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
      
      2006-05-04  Leehod Baruch  <leehod.baruch@weizmann.ac.il>
      
              * df.h (struct web_entry): Moved from web.c.
              (union_defs): Declaration as extern.
              (unionfind_root): Likewise.
              (unionfind_union): Likewise.
              * web.c (struct web_entry): Moved to df.h.
              (unionfind_root): Remove static declaration.
              (unionfind_union): Likewise.
              (union_defs): Likewise and generalize to use callback function.
              (web_main): Update arguments for union_defs function call.
      
      From-SVN: r113518
      Razya Ladelsky committed
  10. 02 Mar, 2006 1 commit
    • tree-vrp.c (execute_vrp): Return value. · c2924966
      2006-03-02  Daniel Berlin <dberlin@dberlin.org>
      
      	* gcc/tree-vrp.c (execute_vrp): Return value.
      	* gcc/regrename.c (rest_of_handle_regrename): Ditto.
      	* gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto.
      	* gcc/tree-complex.c (tree_lower_complex): Ditto.
      	(tree_lower_complex_O0): Ditto.
      	* gcc/tracer.c (rest_of_handle_tracer): Ditto.
      	* gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto.
      	* gcc/postreload.c (rest_of_handle_postreload): Ditto.
      	* gcc/tree-tailcall.c (execute_tail_recursion): Ditto.
      	(execute_tail_calls): Ditto.
      	* gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
      	* gcc/tree.h (init_function_for_compilation): Ditto.
      	* gcc/ipa-cp.c (ipcp_driver): Ditto.
      	* gcc/tree-scalar-evolution.c (scev_const_prop): Ditto.
      	* gcc/tree-scalar-evolution.h (scev_const_prop): Ditto.
      	* gcc/final.c (compute_alignments): Ditto.
      	(rest_of_handle_final): Ditto.
      	(rest_of_handle_shorten_branches): Ditto.
      	(rest_of_clean_state): Ditto.
      	* gcc/omp-low.c (execute_expand_omp): Ditto.
      	(execute_lower_omp): Ditto.
      	* gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto.
      	* gcc/ipa-reference.c (static_execute): Ditto.
      	* gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
      	* gcc/reorg.c (rest_of_handle_delay_slots): Ditto.
      	(rest_of_handle_machine_reorg): Ditto.
      	* gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto.
      	* gcc/flow.c (recompute_reg_usage): Ditto.
      	(rest_of_handle_remove_death_notes): Ditto.
      	(rest_of_handle_life): Ditto.
      	(rest_of_handle_flow2): Ditto.
      	* gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
      	* gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto.
      	(do_ssa_store_ccp): Ditto.
      	(execute_fold_all_builtins): Ditto.
      	* gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto.
      	* gcc/modulo-sched.c (rest_of_handle_sms): Ditto.
      	* gcc/ipa-pure-const.c (static_execute): Ditto.
      	* gcc/cse.c (rest_of_handle_cse): Ditto.
      	(rest_of_handle_cse2): Ditto.
      	* gcc/web.c (rest_of_handle_web): Ditto.
      	* gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto.
      	* gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
      	* gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
      	* gcc/tree-nrv.c (tree_nrv): Ditto.
      	(execute_return_slot_opt): Ditto.
      	* gcc/tree-ssa-alias.c (compute_may_aliases): Ditto.
      	(create_structure_vars): Ditto.
      	* gcc/loop-init.c (rtl_loop_init): Ditto.
      	(rtl_loop_done): Ditto.
      	(rtl_move_loop_invariants): Ditto.
      	(rtl_unswitch): Ditto.
      	(rtl_unroll_and_peel_loops): Ditto.
      	(rtl_doloop): Ditto.
      	* gcc/gimple-low.c (lower_function_body): Ditto.
      	(mark_used_blocks): Ditto.
      	* gcc/tree-ssa-sink.c (execute_sink_code): Ditto.
      	* gcc/ipa-inline.c (cgraph_decide_inlining): Ditto.
      	(cgraph_early_inlining): Ditto.
      	* gcc/global.c (rest_of_handle_global_alloc): Ditto.
      	* gcc/jump.c (cleanup_barriers): Ditto.
      	(purge_line_number_notes): Ditto.
      	* gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto.
      	(rest_of_handle_if_after_reload): Ditto.
      	* gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
      	(tree_ssa_loop_im): Ditto.
      	(tree_ssa_loop_unswitch): Ditto.
      	(tree_vectorize): Ditto.
      	(tree_linear_transform): Ditto.
      	(tree_ssa_loop_ivcanon): Ditto.
      	(tree_ssa_empty_loop): Ditto.
      	(tree_ssa_loop_bounds): Ditto.
      	(tree_complete_unroll): Ditto.
      	(tree_ssa_loop_prefetch): Ditto.
      	(tree_ssa_loop_ivopts): Ditto.
      	(tree_ssa_loop_done): Ditto.
      	* gcc/predict.c (tree_estimate_probability): Ditto.
      	* gcc/recog.c (split_all_insns_noflow): Ditto.
      	(rest_of_handle_peephole2): Ditto.
      	(rest_of_handle_split_all_insns): Ditto.
      	* gcc/tree-eh.c (lower_eh_constructs): Ditto.
      	* gcc/regmove.c (rest_of_handle_regmove): Ditto.
      	(rest_of_handle_stack_adjustments): Ditto.
      	* gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto.
      	* gcc/function.c (instantiate_virtual_regs): Ditto.
      	(init_function_for_compilation): Ditto.
      	(rest_of_handle_check_leaf_regs): Ditto.
      	* gcc/gcse.c (rest_of_handle_jump_bypass): Ditto.
      	(rest_of_handle_gcse): Ditto.
      	* gcc/ipa-type-escape.c (type_escape_execute): Ditto.
      	* gcc/alias.c (rest_of_handle_cfg): Ditto.
      	* gcc/tree-if-conv.c (main_tree_if_conversion): Ditto.
      	* gcc/profile.c (rest_of_handle_branch_prob): Ditto.
      	* gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
      	* gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
      	* gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
      	* gcc/tree-dfa.c (find_referenced_vars): Ditto.
      	* gcc/except.c (set_nothrow_function_flags): Ditto.
      	(convert_to_eh_region_ranges): Ditto.
      	(rest_of_handle_eh): Ditto.
      	* gcc/emit-rtl.c (unshare_all_rtl): Ditto.
      	(remove_unnecessary_notes): Ditto.
      	* gcc/except.h (set_nothrow_function_flags): Ditto.
      	(convert_to_eh_region_ranges): Ditto.
      	* gcc/cfgexpand.c (tree_expand_cfg): Ditto.
      	* gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto.
      	* gcc/tree-ssa-pre.c (do_pre): Ditto.
      	(execute_fre): Ditto.
      	* gcc/cfgcleanup.c (rest_of_handle_jump): Ditto.
      	(rest_of_handle_jump2): Ditto.
      	* gcc/tree-sra.c (tree_sra): Ditto.
      	* gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto.
      	(execute_mudflap_function_decls): Ditto.
      	* gcc/tree-ssa-copy.c (do_copy_prop): Ditto.
      	(do_store_copy_prop): Ditto.
      	* gcc/ipa-prop.h (ipcp_driver): Ditto.
      	* gcc/cfglayout.c (insn_locators_initialize): Ditto.
      	* gcc/tree-ssa-forwprop.c
      	(tree_ssa_forward_propagate_single_use_vars): Ditto.
      	* gcc/cfglayout.h (insn_locators_initialize): Ditto.
      	* gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto.
      	* gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto.
      	(execute_late_warn_uninitialized): Ditto.
      	* gcc/rtl.h (cleanup_barriers): Ditto.
      	(split_all_insns_noflow): Ditto.
      	(purge_line_number_notes): Ditto.
      	(unshare_all_rtl): Ditto.
      	(remove_unnecessary_notes): Ditto.
      	(recompute_reg_usage): Ditto.
      	(variable_tracking_main): Ditto.
      	* gcc/integrate.c (emit_initial_value_sets): Ditto.
      	* gcc/integrate.h (emit_initial_value_sets): Ditto.
      	* gcc/tree-optimize.c (execute_free_datastructures): Ditto
      	(execute_free_cfg_annotations): Ditto.
      	(execute_fixup_cfg): Ditto.
      	(execute_cleanup_cfg_pre_ipa): Ditto.
      	(execute_cleanup_cfg_post_optimizing): Ditto.
      	(execute_init_datastructures): Ditto.
      	* gcc/tree-object-size.c (compute_object_sizes): Ditto.
      	* gcc/combine.c (rest_of_handle_combine): Ditto.
      	* gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
      	* gcc/bb-reorder.c (duplicate_computed_gotos): Ditto.
      	(rest_of_handle_reorder_blocks): Ditto.
      	(rest_of_handle_partition_blocks): Ditto.
      	* gcc/var-tracking.c (variable_tracking_main): Ditto.
      	* gcc/tree-profile.c (tree_profiling): Ditto.
      	* gcc/tree-vect-generic.c (expand_vector_operations): Ditto.
      	* gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto.
      	* gcc/sched-rgn.c (rest_of_handle_sched): Ditto.
      	(rest_of_handle_sched2): Ditto.
      	* gcc/basic-block.h (free_bb_insn): Ditto.
      	* gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto.
      	* gcc/tree-cfg.c (execute_build_cfg): Ditto.
      	(remove_useless_stmts): Ditto.
      	(split_critical_edges): Ditto.
      	(execute_warn_function_return): Ditto.
      	(execute_warn_function_noreturn): Ditto.
      	* gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto.
      	* gcc/cfgrtl.c (free_bb_for_insn): Ditto.
      	* gcc/passes.c (execute_one_pass): Run additional
      	todos returned by execute function.
      	* gcc/tree-pass.h (struct tree_opt_pass): Make execute
      	return a value.
      
      From-SVN: r111643
      Daniel Berlin committed
  11. 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
  12. 11 Jan, 2006 1 commit
    • df.h (DF_SCAN, [...]): New macros. · 4d779342
      2005-01-11  Danny Berlin <dberlin@dberlin.org>
                  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* df.h (DF_SCAN, DF_RU, DF_RD, DF_LR, DF_UR, DF_UREC, DF_CHAIN,
      	DF_RI, DF_LAST_PROBLEM_PLUS1, DF_DU_CHAIN, DF_UD_CHAIN,
      	DF_REF_TYPE_NAMES, DF_HARD_REGS, DF_EQUIV_NOTES, DF_SUBREGS,
      	DF_SCAN_BB_INFO, DF_RU_BB_INFO, DF_RD_BB_INFO, DF_LR_BB_INFO,
      	DF_UR_BB_INFO, DF_UREC_BB_INFO, DF_LIVE_IN, DF_LIVE_OUT,
      	DF_RA_LIVE_IN, DF_RA_LIVE_OUT, DF_UPWARD_LIVE_IN,
      	DF_UPWARD_LIVE_OUT, DF_REF_REAL_REG, DF_REF_REGNO,
      	DF_REF_REAL_LOC, DF_REF_REG, DF_REF_LOC, DF_REF_BB, DF_REF_BBNO,
      	DF_REF_INSN, DF_REF_INSN_UID, DF_REF_TYPE, DF_REF_CHAIN,
      	DF_REF_ID, DF_REF_FLAGS, DF_REF_NEXT_REG, DF_REF_PREV_REG,
      	DF_REF_NEXT_REF, DF_REF_DATA, DF_REF_REG_DEF_P, DF_REF_REG_USE_P,
      	DF_REF_REG_MEM_STORE_P, DF_REF_REG_MEM_LOAD_P, DF_REF_REG_MEM_P,
      	DF_DEFS_SIZE, DF_DEFS_GET, DF_DEFS_SET, DF_USES_SIZE, DF_USES_GET,
      	DF_USES_SET, DF_REG_SIZE, DF_REG_DEF_GET, DF_REG_DEF_SET,
      	DF_REG_USE_GET, DF_REG_USE_SET, DF_REGNO_FIRST_DEF,
      	DF_REGNO_LAST_USE, DF_INSN_SIZE, DF_INSN_GET, DF_INSN_SET,
      	DF_INSN_CONTAINS_ASM, DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES,
      	DF_INSN_UID_GET, DF_INSN_UID_LUID, DF_INSN_UID_DEFS,
      	DF_INSN_UID_USES, DF_SCAN_INITIAL, DF_SCAN_GLOBAL,
      	DF_SCAN_POST_ALLOC): New macros.
      	(df_flow_dir, df_ref_type, df_ref_flags, df_alloc_function,
      	df_free_bb_function, df_local_compute_function, df_init_function,
      	df_dataflow_function, df_confluence_function_0,
      	df_confluence_function_n, df_transfer_function,
      	df_finalizer_function, df_free_function, df_dump_problem_function,
      	df_problem, dataflow, df_insn_info, df_reg_info, df_ref, df_link,
      	df_ref_info, df, df_map, df_scan_bb_info, df_ru_bb_info,
      	df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, df_ur_bb_info,
      	df_urec_bb_info, ) New types.
      	(df_invalidated_by_call, df_all_hard_regs, df_state) New public
      	variables.
      	(df_init, df_add_problem, df_set_blocks, df_finish, df_analyze,
      	df_analyze_simple_change_some_blocks,
      	df_analyze_simple_change_one_block, df_compact_blocks,
      	df_bb_replace, df_bb_regno_last_use_find,
      	df_bb_regno_first_def_find, df_bb_regno_last_def_find,
      	df_insn_regno_def_p, df_find_def, df_find_use,
      	df_iterative_dataflow, df_dump, df_chain_dump, df_refs_chain_dump,
      	df_regs_chain_dump, df_insn_debug, df_insn_debug_regno,
      	df_regno_debug, df_ref_debug, debug_df_insn, debug_df_regno,
      	debug_df_reg, debug_df_defno, debug_df_useno, debug_df_ref,
      	debug_df_chain, df_get_dependent_problem, df_chain_create,
      	df_chain_unlink, df_chain_copy, df_get_live_in, df_get_live_out,
      	df_grow_bb_info, df_chain_dump, df_print_bb_index,
      	df_ru_add_problem, df_ru_get_bb_info, df_rd_add_problem,
      	df_rd_get_bb_info, df_lr_add_problem, df_lr_get_bb_info,
      	df_ur_add_problem, df_ur_get_bb_info, df_urec_add_problem,
      	df_urec_get_bb_info, df_chain_add_problem, df_ri_add_problem,
      	df_reg_lifetime, df_scan_get_bb_info, df_scan_add_problem,
      	df_rescan_blocks, df_ref_create, df_get_artificial_defs,
      	df_get_artificial_uses, df_reg_chain_create, df_reg_chain_unlink,
      	df_ref_remove, df_insn_refs_delete, df_refs_delete,
      	df_reorganize_refs, df_set_state, df_hard_reg_init,
      	df_read_modify_subreg_p) New public functions.
              * df-core.c: The core dataflow solver and glue routines for rtl
      	dataflow.
      	(df_init, df_add_problem, df_set_blocks, df_finish,
      	df_hybrid_search_forward, df_hybrid_search_backward,
      	df_iterative_dataflow, df_prune_to_subcfg, df_analyze_problem,
      	df_analyze, df_get_bb_info, df_set_bb_info, df_bb_replace,
      	df_bb_regno_last_use_find, df_bb_regno_first_def_find,
      	df_bb_regno_last_def_find, df_insn_regno_def_p, df_find_def,
      	df_reg_defined, df_find_use, df_reg_used, df_dump,
      	df_refs_chain_dump, df_regs_chain_dump, df_insn_debug,
      	df_insn_debug_regno, df_regno_debug, df_ref_debug, debug_df_insn,
      	debug_df_reg, debug_df_regno, debug_df_ref debug_df_defno,
      	debug_df_useno, reset_df_after_reload): New functions.
      	* df-scan.c: The scanning fuctions, once in df.c, completely
      	rewritten so that they now fully model the functionality of
      	register usage at the backend.
      	(df_scan_free_internal, df_scan_get_bb_info, df_scan_set_bb_info,
      	df_scan_free_bb_info, df_scan_alloc, df_scan_free, df_scan_dump,
      	df_scan_add_problem, df_grow_reg_info, df_grow_ref_info,
      	df_grow_insn_info, df_rescan_blocks, df_ref_create,
      	df_get_artificial_defs, df_get_artificial_uses,
      	df_reg_chain_create, df_ref_unlink, df_reg_chain_unlink,
      	df_ref_remove, df_insn_create_insn_record, df_insn_refs_delete,
      	df_refs_delete, df_reorganize_refs, df_set_state,
      	df_ref_create_structure, df_ref_record, df_read_modify_subreg_p,
      	df_def_record_1, df_defs_record, df_uses_record,
      	df_insn_contains_asm_1, df_insn_contains_asm, df_insn_refs_record,
      	df_has_eh_preds, df_bb_refs_record, df_refs_record, df_mark_reg,
      	df_record_exit_block_uses, df_hard_reg_init): New functions.
      
      	* df-problems.c: Seven concrete dataflow problems that use the
      	scanning in df-scan.c and are solved by the engine in df-core.c.
      	(df_get_dependent_problem, df_chain_create, df_chain_unlink,
      	df_chain_copy, df_get_live_in, df_get_live_out, df_grow_bb_info,
      	df_chain_dump, df_print_bb_index, df_ref_bitmap, df_set_seen,
      	df_unset_seen, df_ru_get_bb_info, df_ru_set_bb_info,
      	df_ru_free_bb_info, df_ru_alloc,
      	df_ru_bb_local_compute_process_def,
      	df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
      	df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n,
      	df_ru_transfer_function, df_ru_free, df_ru_dump,
      	df_ru_add_problem, df_rd_get_bb_info, df_rd_set_bb_info,
      	df_rd_free_bb_info, df_rd_alloc,
      	df_rd_bb_local_compute_process_def, df_rd_bb_local_compute,
      	df_rd_local_compute, df_rd_init_solution, df_rd_confluence_n,
      	df_rd_transfer_function, df_rd_free, df_rd_dump,
      	df_rd_add_problem, df_lr_get_bb_info, df_lr_set_bb_info,
      	df_lr_free_bb_info, df_lr_alloc, df_lr_bb_local_compute,
      	df_lr_local_compute, df_lr_init, df_lr_confluence_0,
      	df_lr_confluence_n, df_lr_transfer_function, df_lr_free,
      	df_lr_dump, df_lr_add_problem, df_ur_get_bb_info,
      	df_ur_set_bb_info, df_ur_free_bb_info, df_ur_alloc,
      	df_ur_bb_local_compute, df_ur_local_compute, df_ur_init,
      	df_ur_local_finalize, df_ur_confluence_n, df_ur_transfer_function,
      	df_ur_free, df_ur_dump, df_ur_add_problem, df_urec_get_bb_info,
      	df_urec_set_bb_info, df_urec_free_bb_info, df_urec_alloc,
      	df_urec_mark_reg_change, df_urec_check_earlyclobber,
      	df_urec_mark_reg_use_for_earlyclobber,
      	df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
      	df_urec_local_compute, df_urec_init, df_urec_local_finalize,
      	df_urec_confluence_n, df_urec_transfer_function, df_urec_free,
      	df_urec_dump, df_urec_add_problem, df_chain_alloc,
      	df_chain_create_bb_process_use, df_chain_create_bb,
      	df_chain_finalize, df_chain_free, df_chains_dump,
      	df_chain_add_problem, df_ri_alloc, df_ri_bb_compute,
      	df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem,
      	df_reg_lifetime): New functions.
      	* df.c: Deleted file.
              * ddg.c (create_ddg_dep_no_link, build_inter_loop_deps): Made code
      	consistent with new df api.
              * modulo-sched.c (sms_schedule, rest_of_handle_sms,
              rest_of_handle_sms): Ditto.
              * web.c (unionfind_union, union_defs, entry_register, web_main):
      	Ditto.
      	* loop_invariant.c (invariant_for_use, hash_invariant_expr_1,
      	invariant_expr_equal_p, find_defs, check_dependencies,
      	find_invariant_insn, find_invariants_to_move, move_invariant_reg,
      	free_inv_motion_data, move_loop_invariants): Ditto.
      	* sched-deps.c (sched_analyze_1): Ditto.
      
      
      Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>
      
      From-SVN: r109577
      Daniel Berlin committed
  13. 25 Dec, 2005 1 commit
    • final.c (compute_alignments): Make it static. · 65727068
      	* final.c (compute_alignments): Make it static.
      	* gcse.c (gcse_main, bypass_jumps): Likewise.
      	* web.c (web_main): Likewise.
      	* output.h: Remove the prototype for compute_alignments.
      	* rtl.h: Remove the prototypes for web_main, gcse_main, and
      	bypass_jumps.
      
      From-SVN: r109051
      Kazu Hirata committed
  14. 05 Jul, 2005 1 commit
    • Makefile.in: Adjust dependencies. · ef330312
      2005-07-05  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.in: Adjust dependencies.
      	* tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
      	* basic-block.h (duplicate_computed_gotos): Remove, it is now static.
      	* alias.c (rest_of_handle_cfg, pass_cfg): New.
      	* bb-reorder.c (duplicate_computed_gotos): Make it static.
      	* cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
      	rest_of_compilation.
      
      	* bb-reorder.c (gate_duplicate_computed_gotos,
      	pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
      	rest_of_handle_reorder_blocks, pass_reorder_blocks,
      	gate_handle_partition_blocks, rest_of_handle_partition_blocks,
      	pass_partition_blocks): New.
      	* bt-load.c (gate_handle_branch_target_load_optimize,
      	rest_of_handle_branch_target_load_optimize,
      	pass_branch_target_load_optimize): New.
      	* cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
      	pass_jump2): New.
      	* cfglayout.c (pass_insn_locators_initialize): New.
      	* cfgrtl.c (pass_free_cfg): New.
      	* combine.c (gate_handle_combine, rest_of_handle_combine,
      	pass_combine): New.
      	* cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
      	gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
      	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
      	* except.c (pass_set_nothrow_function_flags,
      	pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
      	pass_rtl_eh): New.
      	* final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
      	rest_of_handle_shorten_branches, pass_shorten_branches,
      	rest_of_clean_state, pass_clean_state): New.
      	* flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
      	rest_of_handle_remove_death_notes, pass_remove_death_notes,
      	rest_of_handle_life, pass_life, rest_of_handle_flow2,
      	pass_flow2): New.
      	* function.c (pass_instantiate_virtual_regs, pass_init_function,
      	rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
      	* gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
      	pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
      	pass_gcse): New.
      	* global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
      	* ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
      	pass_rtl_ifcvt, gate_handle_if_after_combine,
      	rest_of_handle_if_after_combine, pass_if_after_combine,
      	gate_handle_if_after_reload, rest_of_handle_if_after_reload,
      	pass_if_after_reload): New.
      	* integrate.c (pass_initial_value_sets): New.
      	* jump.c (pass_cleanup_barriers, purge_line_number_notes,
      	pass_purge_lineno_notes): New.
      	* mode-switching.c (rest_of_handle_mode_switching,
      	pass_mode_switching): New.
      	* local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
      	* loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
      	pass_loop2): New.
      	* loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
      	pass_loop_optimize): New.
      	* modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
      	pass_sms): New.
      	* postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
      	pass_gcse2): New.
      	* postreload.c (gate_handle_postreload, rest_of_handle_postreload,
      	pass_postreload_cse): New.
      	* profile.c (gate_handle_profiling, pass_profiling,
      	rest_of_handle_branch_prob, pass_branch_prob): New.
      	* recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
      	pass_split_before_regstack, gate_handle_split_before_regstack,
      	gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
      	rest_of_handle_split_all_insns, pass_split_all_insns): New.
      	* reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
      	pass_stack_regs): New.
      	* regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
      	gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
      	pass_stack_adjustments): New.
      	* regrename.c (gate_handle_regrename, rest_of_handle_regrename,
      	pass_regrename): New.
      	* reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
      	pass_delay_slots, gate_handle_machine_reorg,
      	rest_of_handle_machine_reorg, pass_machine_reorg): New.
      	* rtl.h (extern void purge_line_number_notes): New.
      	* sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
      	gate_handle_sched2, rest_of_handle_sched2, pass_sched,
      	pass_sched2): New.
      	* tracer.c (gate_handle_tracer, rest_of_handle_tracer,
      	pass_tracer): New.
      	* value-prof.c (gate_handle_value_profile_transformations,
      	rest_of_handle_value_profile_transformations,
      	pass_value_profile_transformations): New.
      	* var-tracking.c (gate_handle_var_tracking,
      	pass_variable_tracking): New.
      	* web.c (gate_handle_web, rest_of_handle_web, pass_web): New.
      
      	* passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
      	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
      	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
      	rest_of_handle_old_regalloc, rest_of_handle_regrename,
      	rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
      	rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
      	rest_of_handle_gcse2, rest_of_handle_regmove,
      	rest_of_handle_tracer, rest_of_handle_if_conversion,
      	rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
      	rest_of_handle_web, rest_of_handle_branch_prob,
      	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
      	rest_of_handle_jump_bypass, rest_of_handle_combine,
      	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
      	rest_of_handle_gcse, rest_of_handle_loop_optimize,
      	rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
      	rest_of_handle_mode_switching, rest_of_handle_jump,
      	rest_of_handle_eh, rest_of_handle_stack_adjustments,
      	rest_of_handle_flow2, rest_of_handle_jump2,
      	rest_of_handle_peephole2, rest_of_handle_postreload,
      	rest_of_handle_shorten_branches, rest_of_clean_state,
      	rest_of_compilation): Remove.
      
      	* cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
      	* passes.c (dump_flags, in_gimple_form, all_passes,
      	all_ipa_passes, all_lowering_passes, register_one_dump_file,
      	register_dump_files, next_pass_1, last_verified, execute_todo,
      	execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
      	from tree-optimize.c.
      	(init_optimization_passes): Moved from tree-optimize.c,
      	adding the RTL optimizations.
      	* tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
      	* tree-optimize.c (dump_flags, in_gimple_form, all_passes,
      	all_ipa_passes, all_lowering_passes, register_one_dump_file,
      	register_dump_files, next_pass_1, last_verified, execute_todo,
      	execute_one_pass, execute_pass_list, execute_ipa_pass_list,
      	init_tree_optimization_passes, ipa_passes): Delete.
      	* tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
      	the RTL dumps.
      	(TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
      	dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
      	from tree.h.
      	(ipa_passes): Remove.
      	(all_passes, all_ipa_passes, all_lowering_passes): Now extern.
      	* tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
      	dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
      	dump_switch_p, dump_flag_name): Moved to tree-pass.h.
      	(dump_info_p, dump_flag): Moved to tree-dump.h.
      
      	* Makefile.in: Adjust dependencies for tree-pretty-print.c,
      	cgraph.c, opts.c.
      	* passes.c (finish_optimization_passes): Use dump_begin
      	and dump_end, TDI_end.
      	(gate_rest_of_compilation): New.
      	(pass_rest_of_compilation): Use it.
      	(gate_postreload, pass_postreload): New.
      	* toplev.c (general_init): Rename init_tree_optimization_passes.
      	* toplev.h (init_tree_optimization_passes): Rename to
      	init_optimizations_passes.
      	* tree-dump.c (dump_flag): Make static.
      	(dump_files): Remove RTL dumps.
      	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
      	pass_cleanup_cfg, pass_free_cfg_annotations,
      	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
      	pass_init_datastructures, pass_fixup_cfg): Make non-static.
      	* tree-pretty-print.c: Include tree-pass.h.
      	* cgraph.c: Include tree-dump.h.
      
      cp:
      2005-07-05  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.in (class.o, decl2.o): Adjust dependencies.
      	* class.c: Include tree-dump.h.
      	* decl2.c: Include tree-dump.h.
      
      java:
      2005-07-05  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.in (parse.o): Adjust dependencies.
      	* parse.y: Include tree-dump.h.
      
      From-SVN: r101627
      Paolo Bonzini committed
  15. 25 Jun, 2005 1 commit
  16. 22 Nov, 2004 1 commit
    • bitmap.h (struct bitmap_obstack): New obstack type. · 7932a3db
      	* bitmap.h (struct bitmap_obstack): New obstack type.
      	(struct bitmap_head_def): Replace using_obstack with obstack
      	pointer.
      	(bitmap_default_obstack): New.
      	(bitmap_initialize): Make inline, does not do allocation.
      	(bitmap_release_memory): Remove.
      	(bitmap_obstack_initialize, bitmap_obstack_release): Declare.
      	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
      	bitmap_obstack_free, bitmap_malloc_free): Declare.
      	(BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust.
      	(BITMAP_FREE): Replace with ...
      	(BITMAP_OBSTACK_FREE): ... this.
      	(BITMAP_XFREE): Adjust.
      	(BITMAP_INIT_ONCE): Remove.
      	* bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove.
      	(bitmap_default_obstack): New.
      	(bitmap_elem_to_freelist): Adjust.
      	(bitmap_element_allocate): Adjust. Break initialization into ...
      	(bitmap_obstack_initialize): ... here.
      	(bitmap_release_memory): Replace with ...
      	(bitmap_obstack_release): ... this.
      	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
      	bitmap_obstack_free, bitmap_malloc_free): New.
      	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use
      	bitmap_initialize.
      	(bitmap_initialize): Move to bitmap.h.
      	* gengtype.c (open_base_files): Add obstack.h to ifiles.
      	* Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h.
      	* basic-block.h (INIT_REG_SET): Allocate from reg_obstack.
      	(INITIALIZE_REG_SET): Remove.
      	(FREE_REG_SET): Use BITMAP_OBSTACK_FREE.
      	(INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove.
      	(flow_obstack): Do not declare.
      	(reg_obstack): Declare.
      	* regs.h: Include obstack.h.
      	* tree-optimize.c (tree_rest_of_compilation): Initialize and
      	release bitmap obstack here.
      	* bb-reorder.c: #include regs, not basic-block.
      	(fix_crossing_conditional_branches): Allocate regsets from
      	reg_obstack.
      	* bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or
      	obstack.h.
      	* caller-save.c: Include regs.h earlier.
      	* cfg.c: Do not include basic-block.h or obstack.h.
      	(reg_obstack): Define.
      	* cfganal.c: Include obstack.h
      	* cfgcleanyp.c: Do not include basic-block.h. Include regs.h
      	earlier.
      	* cfglayout.c: Do not include obstack.h.
      	(flow_obstack): Remove declaration.
      	(cfg_layout_duplicate_bb): Use reg_obstack.
      	* cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h.
      	* cfgrtl.c (rtl_split_block): Use reg_obstack.
      	(force_nonfallthru_and_redirect, rtl_split_edge): Likewise.
      	(safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust.
      	(cfg_layout_split_edge): Use reg_obstack.
      	* cse.c: Include regs.h earlier.
      	* ddg.c: Do not include basic-block.h.
      	* dominance.c: Inlude obstack.h.
      	* flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust.
      	(calculate_global_regs_live): Likewise.
      	(allocate_bb_life_data): Use reg_obstack.
      	(init_propagate_block_info): Use OBSTACK_ALLOC_REGSET.
      	* global.c: Do not include basic-block.h.
      	(build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust.
      	* graph.c: Include obstack.h.
      	* haifa-sched.c: Do not include basic-block.h.
      	* ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust.
      	* local-alloc.c: Do not include basic-block.h.
      	* loop-init.c, loop-invariant.c: Include obstack.h.
      	* loop-iv.c: Likewise.
      	(simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET,
      	adjust.
      	* loop-unroll.c, loop-unswitch.c: Inlude obstack.h.
      	* modulo-sched.c: Do not include basic-block.h.
      	* passes.c (rest_of_handle_final): Do not call
      	regset_release_memory.
      	* ra-debug.c: Include regs.h earlier. Do not include
      	basic-block.h.
      	* recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust.
      	* regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET.
      	(allocate_reg_info): Do not call MAX_REGNO_REG_SET.
      	(regset_release_memory): Remove.
      	* resource.c: Do not include basic-block.h.
      	* rtlanal.c: Do not include basic-block.h.
      	* sbitmap.c: Include obstack.h.
      	* sched-deps.c: Do not include basic-block.h.
      	(reg_pending_sets_head, reg_pending_clobbers_head,
      	reg_pending_uses_head): Remove.
      	(init_deps_global): Use OBSTACK_ALLOC_REG_SET.
      	* sched-ebb.c: Do not include basic-block.h.
      	* sched-rgn.c: Likewise.
      	* tree-if-conv.c (get_loop_body_in_if_conv_order): Use
      	BITMAP_XFREE.
      	* tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE.
      	* tree-sra.c (decide_instantiations): Adjust bitmap
      	initialization.
      	* tree-ssa-dce.c: Include obstack.h.
      	* tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack.
      	(value_insert_into_set_bitmap): Remove useless bitmap_clear.
      	(bitmap_set_new): Likewise.
      	(init_pre): Initialize bitmap obstack.
      	(fini_pre): Release bitmap obstack.
      	* tree-ssanames.c (ssa_names_to_rewrite): Make static.
      	(marked_for_rewrite_p): ssa_names_to_rewrite is never NULL.
      	(mark_for_rewrite, unmark_for_rewrite): Likewise.
      	(marked_ssa_names): Likewise.
      	(init_ssanames): Use BITMAP_XMALLOC.
      	(fini_ssanames): Use BITMAP_XFREE.
      	* web.c: Include obstack.h
      
      From-SVN: r91009
      Nathan Sidwell committed
  17. 13 Nov, 2004 1 commit
    • cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and HARD_REGISTER_NUM_P. · d67fb775
      	* cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
      	HARD_REGISTER_NUM_P.
      
      	* cselib.c (new_cselib_val): Make comment correct and more detailed.
      	* flow.c (mark_set_1): Likewise.
      
      	* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
      	duplicate_eh_regions): Remove.
      	* except.h (duplicate_eh_regions): Remove prototype.
      	* integrate.c (get_label_from_map, copy_rtx_and_substitute,
      	global_const_equiv_varray): Remove.
      	* integrate.h (get_label_from_map, copy_rtx_and_substitute,
      	global_const_equiv_varray, set_label_in_map): Remove prototypes,
      	extern declaration, and #define.
      	(MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
      	(struct inline_remap): Remove.
      	* varray.c (struct element): Remove entry for const_equiv_data.
      	* varray.h (struct const_equiv_data): Remove.
      	(enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
      	(union varray_data_tag) <const_equiv>: Remove.
      	(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
      	VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
      
      	* regstack.c (record_label_references): Remove unused function.
      
      	* rtl.def (VALUE): Update comment.
      	(LABEL_REF): Remove unused operand 2.
      	* rtl.h (struct rtx_def): Update for removed accessor macros.
      	(XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
      	REG_LOOP_TEST_P): Remove.
      	(ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
      	* web.c (entry_register): Don't copy REG_LOOP_TEST_P.
      	* doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
      
      From-SVN: r90580
      Steven Bosscher committed
  18. 18 Aug, 2004 1 commit
    • rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P. · 389fdba0
      	* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
      	* alias.c (true_dependence): Update to match new semantics.
      	(canon_true_dependence, write_dependence_p): Likewise.
      	(anti_dependence, output_dependence): Update write_dependence_p args.
      	(unchanging_anti_dependence): Remove.
      	* calls.c (purge_mem_unchanging_flag): Remove.
      	(fixup_tail_calls): Don't call it.
      	(expand_call): Don't add unchanging memory to function usage.
      	* expr.c (emit_block_move_via_libcall): Likewise.
      	(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
      	(get_subtarget): Don't use RTX_UNCHANGING_P.
      	(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
      	(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
      	* combine.c (get_last_value_validate): Use MEM_READONLY_P.
      	* cse.c (insert): Don't use RTX_UNCHANGING_P.
      	(cse_insn, canon_hash): Use MEM_READONLY_P.
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
      	instead of RTX_UNCHANGING_P.
      	* explow.c (maybe_set_unchanging): Remove.
      	* expr.h (maybe_set_unchanging): Remove.
      	* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
      	* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
      	(assign_parm_setup_reg, expand_function_start): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* ra-rewrite.c (emit_colors): Likewise.
      	* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
      	(fixup_match_1): Likewise.
      	* reload1.c (reload, alter_reg): Likewise.
      	* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
      	not RTX_UNCHANGING_P.
      	(equiv_init_varies_p): Likewise.
      	* loop-invariant.c (check_maybe_invariant): Likewise.
      	* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
      	* loop.c (note_addr_stored): Likewise.
      	(prescan_loop): Likewise. Don't check function usage for clobbered
      	unchanging memory.
      	* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
              not RTX_UNCHANGING_P.
      	(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
      	* varasm.c (force_const_mem): Likewise.
      	* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
      	* web.c (entry_register): Likewise.
      	* tree-gimple.h (get_base_address): Move decl ...
      	* tree.h: ... here.
      	* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
      
      	* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
      	called via for_each_rtx.  Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
      	(alpha_set_memflags): Update to match.
      
      	* config/darwin.c (machopic_indirect_data_reference): Set
      	MEM_READONLY_P instead of RTX_UNCHANGING_P.
      	(machopic_indirect_call_target): Likewise.
      	(machopic_legitimize_pic_address): Likewise.
      	* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
      	arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
      	* config/arm/arm.md (load_multiple, store_multiple): Likewise.
      	* config/frv/frv.md (symGOT2reg): Likewise.
      	* config/i386/i386.c (legitimize_pic_address,
      	legitimize_tls_address, ix86_split_to_parts): Likewise.
      	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
      	* config/ia64/ia64.md (load_fptr): Likewise.
      	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
      	* config/m68k/m68k.c (legitimize_pic_address): Likewise.
      	* config/mcore/mcore.c (block_move_sequence): Likewise.
      	* config/mn10300/mn10300.md (symGOT2reg): Likewise.
      	* config/pa/pa.c (legitimize_pic_address): Likewise.
      	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
      	(rs6000_emit_move): Likewise.
      	* config/s390/s390.c (legitimize_pic_address): Likewise.
      	(legitimize_tls_address): Likewise.
      	* config/s390/s390.md (casesi): Likewise.
      	* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
      	* config/sh/sh.md (symGOT2reg): Likewise.
      	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
      	* config/v850/v850.md (casesi): Likewise.
      
      	* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
      	* config/iq2000/iq2000.c (save_restore_insns): Likewise.
      	* config/mips/mips.c (mips_restore_gp): Likewise.
      	(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
      	* config/sh/sh.c (sh_reorg): Likewise.
      
      From-SVN: r86178
      Richard Henderson committed
  19. 04 Jul, 2004 1 commit
    • rtl.def (ADDRESSOF): Remove. · 8fff4fc1
      	* rtl.def (ADDRESSOF): Remove.
      	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
      	(find_base_term, memrefs_conflict_p): Likewise.
      	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
      	(fold_rtx, cse_insn, set_live_p): Likewise.
      	* dwarf2out.c (mem_loc_descriptor): Likewise.
      	(add_location_or_const_value_attribute): Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* explow.c (memory_address): Likewise.
      	* expmed.c (store_split_bit_field): Likewise.
      	* expr.c (expand_expr_real_1): Likewise.
      	* function.c (instantiate_decl
      	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
      	* genrecog.c (preds, validate_pattern): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* recog.c (general_operand, register_operand): Likewise.
      	(memory_address_p): Likwise.
      	* reload1.c (eliminate_regs, elimination_effects): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
      	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* stmt.c (expand_asm_operands): Likewise.
      	* web.c (entry_register, replace_ref, web_main): Likewise.
      	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
      	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
      	* config/arm/arm.c (thumb_rtx_costs): Likewise.
      	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
      	* config/frv/frv.c (move_destination_operand, move_source_operand,
      	condexec_dest_operand, condexec_source_operand,
      	condexec_memory_operand): Likewise.
      	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
      	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
      	(destination_xfmode_operand): Likewise.
      	* config/mips/mips.h (PREDICATE_CODES): Likewise.
      	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
      	* config/s390/s390.c (general_s_operand): Likewise.
      	* config/s390/s390.md (mov*): Likewise.
      	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
      
      	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
      	* expr.c (expand_expr_real_1): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
      
      	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
      	postponed_insns, put_var_into_stack, put_reg_into_stack,
      	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
      	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
      	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
      	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
      	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
      	purge_bitfield_addressof_replacements, purge_addressof_replacements,
      	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
      	struct insns_for_mem_walk_info, insns_for_mem_walk,
      	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
      	setjmp_protect_args): Remove.
      	(push_function_context_to): Don't handle var_refs_queue.
      	(pop_function_context_from, free_after_compilation): Likewise.
      	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
      	(assign_parms, allocate_struct_function): Likewise.
      	(use_register_for_decl): New.
      	(expand_function_end): Don't setjmp_protect.
      	* function.h (struct emit_status): Update commentary.
      	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
      	(max_parm_reg, parm_reg_stack_loc): Remove.
      	* passes.c (DFI_addressof): Remove.
      	(dump_file_info): Remove addressof.
      	(rest_of_handle_addressof): Remove.
      	(rest_of_compilation): Don't call it.
      	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
      	* stmt.c (expand_decl): Use use_register_for_decl.
      	* tree.h: Update decls.
      	* web.c (mark_addressof): Remove.
      	* doc/invoke.texi (-dF): Remove.
      
      ada/
              * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
      cp/
              * typeck.c (cxx_mark_addressable): Don't put_var_into_stack.
      fortran/
              * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
      treelang/
              * treetree.c (tree_mark_addressable):  Don't put_var_into_stack.
      
      From-SVN: r84072
      Richard Henderson committed
  20. 29 Jun, 2004 1 commit
  21. 15 May, 2004 1 commit
    • basic-block.h (life_analysis, [...]): Update prototypes. · 827c06b6
      	* basic-block.h (life_analysis, delete_noop_moves):
      	Update prototypes.
      	* bt-load.c (branch_target_load_optimize): Don't take the
      	insns stream as an argument.  Update the life_analysis calls.
      	* combine.c (combine_instructions): Update delete_noop_moves
      	calls.
      	* flow.c (notice_stack_pointer_modification): Don't take the
      	insns stream as an argument.  Work on the flow graph.
      	(life_analysis): Likewise.
      	(delete_noop_moves): Likewise.
      	* passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
      	(rest_of_handle_life): Update life_analysis call.
      	(rest_of_compilation): Likewise, and also update
      	branch_target_load_optimize call.
      	* ra.c (reg_alloc): Update life_analysis call.
      	* reg-stack.c (reg_to_stack): Likewise.  Also, don't take
      	the insns stream as an argument.
      	* regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
      	call.
      	* rtl.c (branch_target_load_optimize, reg_to_stack): Update
      	prototypes.
      	* value-profile.c (branch_prob): Update life_analysis call.
      	* web.c (web_main): Work on the CFG, not on the insns stream.
      
      	* config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
      	* config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
      	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
      
      From-SVN: r81873
      Steven Bosscher committed
  22. 22 Mar, 2004 1 commit
  23. 15 Mar, 2004 1 commit
    • c-incpath.c, [...]: Update copyright. · ca2b05ba
      gcc/
      	* c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
      	et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
      	hosthooks.h, params.h, ra-colorize.c, web.c,
      	config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
      	config/avr/avr-protos.h, config/avr/avr.md,
      	config/fr30/fr30-protos.h, config/fr30/fr30.md,
      	config/h8300/fixunssfsi.c, config/i386/darwin.h,
      	config/i386/freebsd.h, config/i386/freebsd64.h,
      	config/ia64/hpux.h, config/ia64/unwind-ia64.c,
      	config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
      	config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
      	config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
      	config/pa/pa64-regs.h, config/rs6000/aix41.h,
      	config/rs6000/aix43.h, config/rs6000/host-darwin.c,
      	config/sparc/aout.h, config/sparc/freebsd.h,
      	config/sparc/litecoff.h, config/vax/vax-protos.h,
      	doc/hostconfig.texi, doc/include/gcc-common.texi: Update
      	copyright.
      
      gcc/cp/
      	* cp-lang.c, ptree.c: Update copyright.
      
      From-SVN: r79506
      Kazu Hirata committed
  24. 24 Feb, 2004 2 commits
    • toplev.c (dump_file_tbl): Rename from dump_file. · c263766c
              * toplev.c (dump_file_tbl): Rename from dump_file.
              * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
              cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
              config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
              config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
              loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
              ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
              toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
              s/rtl_dump_file/dump_file/g.
      
      From-SVN: r78399
      Richard Henderson committed
    • df.c, [...]: Replace df_analyse with df_analyze. · b57f2e10
      	* df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
      	df_analyse with df_analyze.
      
      From-SVN: r78363
      Kazu Hirata committed
  25. 21 Nov, 2003 1 commit
    • ChangeLog.7: Fix comment typos. · d91edf86
      	* ChangeLog.7: Fix comment typos.
      	* c-common.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* et-forest.h: Likewise.
      	* expr.c: Likewise.
      	* gcse.c: Likewise.
      	* genautomata.c: Likewise.
      	* genrecog.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	* pretty-print.h: Likewise.
      	* regrename.c: Likewise.
      	* rtl.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* target.h: Likewise.
      	* value-prof.c: Likewise.
      	* web.c: Likewise.
      
      From-SVN: r73795
      Kazu Hirata committed
  26. 31 Oct, 2003 1 commit
  27. 21 Oct, 2003 1 commit
  28. 11 Oct, 2003 1 commit
    • Makefile.in (web.o): New. · 62551c66
      	* Makefile.in (web.o): New.
      	* web.c: New file.
      	* rtl.h (web_main): Declare.
      	* timervar.def (TV_WEB): New.
      	* toplev.c (dump_file_index, dump_file_info): Add DFI_web.
      	(rest_of_hanle_web): New.
      	(flag_web): New static variable.
      	(lang_independent_options): Add "web".
      	(rest_of_compilation): Call rest_of_handle_web.
      	* invoke.texi (-fweb): Document.
      	* common.opt (fweb): New.
      	* flags.h (flag_web): New.
      	* opts.c (decode_options): Set flag_web at -O3.
      
      	* passes.texi (web construction):  Document.
      	* invoke.texi (-O3): Document that -fweb is enabled.
      
      	* regrename.c (regrename_optimize): Deal better with situation when
      	replacement failed.
      
      	* sched-ebb.c: Include params.h and profile.h
      	(schedule_ebbs):  Use tracer parameters to discover superblocks
      	* Makefile.in (sched-ebb.o):  Add dependencies.
      
      From-SVN: r72383
      Jan Hubicka committed