1. 28 May, 2006 1 commit
    • cfgcleanup.c, [...]: Fix comment typos. · 6fc0bb99
      	* cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
      	config/fr30/fr30.md, config/i386/i386-interix.h,
      	config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
      	config/sh/superh64.h, config/v850/v850.c, df-core.c,
      	df-problems.c, df.h, except.c, final.c, haifa-sched.c,
      	lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
      	reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
      	tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
      	Follow spelling conventions.
      	* doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
      	Follow spelling conventions.
      
      From-SVN: r114168
      Kazu Hirata committed
  2. 23 May, 2006 1 commit
    • df-core.c: Added to header comments. · b11550aa
      2006-05-23  Kenneth Zadeck <zadeck@naturalbridge.com>
      
              * df-core.c: Added to header comments.
      	* df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
      	df_ur_bb_info, df_urec_bb_info): Added comments.
      	* df-problems (df_ref_bitmap, ru, rd, lr, ur, 
      	urec, ri problems): Fixed header comments.
      	(df_ru_transfer_function): Fixed in-out set dyslexia when copying 
      	code from df_rd_transfer_function.
      
      From-SVN: r114024
      Kenneth Zadeck committed
  3. 19 May, 2006 1 commit
    • re PR rtl-optimization/26855 (ICE in add_deps_for_def with -fmodulo-sched -maltivec) · 23249ac4
      2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
                  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/26855
      
      	* df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
      	multiword refs.
      	(df_scan_alloc): Added code to properly handle multiword hard
      	registers and add all_blocks parameter.
      	(df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
      	code to properly handle multiword hard registers.
      	(df_rescan_blocks): Added code to remove deleted blocks from
      	bitmap.
      	(df_ref_create_structure, df_ref_record): Added code to properly
      	handle subregs.
      	(df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
      	and set DF_REF_PARTIAL.
      	(df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
      	(df_uses_record): Added DF_REF_PARTIAL for subreg. 
      	(df_scan_add_problem): Added flags parameter.
      	(df_ref_create_structure): Changed switching structure.
      	(df_bb_refs_record): Fixed case where duplicate artificial refs
      	were created.  Changed location of flags.
      	(df_record_entry_block_defs): Added code to make stack pointer
      	live in entry block.  Refined cases where frame pointer is needed.
      	Changed location of flags.
      	(df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
      	(df_set_state): Removed function.
      	(df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
      	df_insn_create_insn_record, df_insn_refs_delete, 
      	df_ref_create_structure): Formatting changes.  
      	* df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
      	df_delete_basic_block): New function.
      	(df_init): Changed location of flags.
      	(df_add_problem): Added flags parameter and the way flags are
      	processed.
      	(df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
      	debug_df_chain): Improved debugging output.
      	(df_insn_debug, df_insn_uid_debug): Added multiword reg support.
      	(df_refs_chain_dump): Removed df parameter.
      	(df_iterative_dataflow): Added consistency check.
      	(df_prune_to_subcfg): Made public.
      	(df_analyze_problem): Added blocks_to_init parameter and made
      	public.
      	(df_ref_record, df_bb_refs_record, df_mark_reg, 
      	 df_record_exit_block_uses): Whitespace changes.
      	(df_dump): Whitespace changes.
      	* df.h: Some reordering to remove forward references.
      	(df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
      	DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
      	(df_ref_flags.DF_REF_CLOBBER): Deleted field.
      	(dataflow.flags): New field.
      	(df.flag): Deleted field.
      	(df_alloc_function): Added additional bitmap parameter.
      	(df_dependent_problem_function): New type.
      	(df_problem.changeable_flags): New field.
      	(df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
      	DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
      	(df_mw_hardreg): New struct.
      	(DF_INSN_UID_MWS): New macro.
      	(df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
      	parameter.
      	(df_add_problem, df_ru_add_problem, df_rd_add_problem,
      	df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
      	df_ri_add_problem, df_scan_add_problem): Added flags parameter.
      	(df_set_state): Removed function.
      	(df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
      	* df-problems.c (df_chain_dump): Removed df parameter.
      	(df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
      	df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
      	parameter.
      	(df_ru_alloc, df_rd_alloc): Now resets all blocks.
      	(df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
      	df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
      	Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
      	DF_REF_MUST_CLOBBER cases.
      	(df_ru_bb_local_compute_process_def,
      	df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
      	df_lr_bb_local_compute, df_ur_bb_local_compute,
      	df_chain_create_bb): Made subreg aware.
      	(df_ru_bb_local_compute, df_rd_bb_local_compute,
      	df_lr_bb_local_compute, df_lr_bb_local_compute,
      	df_chain_create_bb): Cleanup to use proper macros.
      	(df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
      	code to fixup bitvectors.
      	(df_ri_alloc): Cleared lifetime.
      	(df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
      	df_create_unused_note): New function.
      	(df_ri_bb_compute, df_ri_compute): Added code to create/update
      	REG_DEAD and REG_UNUSED notes as well as register information.
      	(df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
      	df_chains_dump): Fixed crash if problem was never run.
      	(df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
      	df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
      	df_ri_add_problem): Processes flags in uniform manner.
      	(df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
      	df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
      	df_rd_dump, df_urec_free_bb_info): Formatting changes.
      	(df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
      	df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
      	df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
      	df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
      	df_ur_dump, df_urec_free_bb_info, df_urec_dump,
      	df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
      	* modulo-sched.c (sms_schedule): Added flag parameter to calls.
      	* see.c (see_initialize_data): Ditto.
      	* final.c (rest_of_clean_state) Added regstack_completed.
      	* rtl.h (regstack_completed): Ditto.
      	* reg-stack.c (regstack_completed): Ditto.
      
      From-SVN: r113915
      Daniel Berlin committed
  4. 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
  5. 04 Mar, 2006 1 commit
    • builtins.c, [...]: Fix comment typos. · c0220ea4
      	* builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
      	combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
      	config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
      	config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
      	df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
      	loop-invariant.c, omp-low.c, opts.c, passes.c,
      	rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
      	tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-structalias.c, tree-ssa-threadedge.c,
      	tree-ssa-threadupdate.c, tree-vect-patterns.c,
      	tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
      	unwind-dw2.c: Fix comment typos.  Follow spelling conventions.
      
      From-SVN: r111721
      Kazu Hirata committed
  6. 08 Feb, 2006 1 commit
  7. 27 Jan, 2006 1 commit
    • re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant… · 912f2dac
      re PR rtl-optimization/24762 ([killloop-branch] code motion of non-invariant expressions with hard registers.)
      
      2006-01-27  Daniel Berlin  <dberlin@dberlin.org>
      	    Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	PR rtl-optimization/24762 
      	* doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY.
      	* targhooks.c (hook_void_bitmap): New hook prototype.
      	* targhoohs.h (hook_void_bitmap): Ditto.
      	* bitmap.h (bitmap_head_def): Moved to coretypes.h.
      	* coretypes.h (bitmap_head_def): Moved from bitmap.h.
      	* target.h (live_on_entry): New function pointer.
      	* df-scan.c (df_all_hard_regs): Removed.
      	(df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs.
      	(df_scan_free_internal): Added df->entry_block_defs.
      	(df_scan_alloc): Ditto.
      	(df_scan_dump): Ditto.
      	(df_uses_record): Plumbed flag field properly thru calls.
      	Record EH_RETURN_DATA_REGNO in eh blocks unconditionally.
      	This part fixes PR24762.
      	(df_bb_refs_record): Added code to make the frame and arg
      	pointers live in EH blocks.
      	(df_refs_record): Added call to df_record_entry_block_defs.
      	(df_record_entry_block_defs): New function.
      	* df-core.c: Added comments to describe new artifical defs.
      	* df.h (DF_REF_DIES_AFTER_THIS_USE): New flag in enum df_ref_flags.
      	(entry_block_defs): New field in struct df.
      	(df_all_hard_regs): Deleted.
      	* target-def.h: Added TARGET_EXTRA_LIVE_ON_ENTRY.
      	* df-problems.c (df_ru_bb_local_compute_process_def):
      	Added code to handle artifical defs in the entry to a function.
      	(df_ru_bb_local_compute): Ditto.
      	(df_rd_bb_local_compute_process_def):  Ditto.
      	(df_rd_bb_local_compute): Ditto.
      	(df_lr_bb_local_compute): Ditto.
      	(df_ur_bb_local_compute): Ditto.
      	(df_urec_bb_local_compute):  Ditto.
      	(df_chain_create_bb):  Ditto.
      	(df_ur_local_finalize):	Removed entry.
      	(df_urec_init): Ditto.
      	(df_urec_local_finalize): Ditto.
      	(df_ri_bb_compute): Added detection of last use of pseudos.
      	* Makefile.in (df-scan.o): Updated dependencies.
      	* config/mips/mips-protos.h (mips_set_live_on_entry): Added.
      	* config/mips/mips.c (mips_set_live_on_entry): Added.
      	* config/mips/mips.c (TARGET_EXTRA_LIVE_ON_ENTRY): Added value
      	for target hook.
      	* dce.c (marked_insn_p): Added code to handle artifical defs.
      
      
      Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>
      
      From-SVN: r110312
      Daniel Berlin committed
  8. 21 Jan, 2006 1 commit
    • df-scan.c (problem_SCAN): Added NULL reset function. · 30cb87a0
      2005-01-21  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* df-scan.c (problem_SCAN): Added NULL reset function.
      	(df_scan_reset_blocks): Added code to call reset block function
      	(df_bb_refs_delete) Fixed comment.
      	(df_insn_refs_delete): Made tolerant of deleting non existent info
      	for dataflow problems that need to be reset.
      	* df-core.c (df_set_blocks): Ditto.
      	* df.h (struct df_problem): Added reset_fun.
      	* df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR,
      	problem_UREC, problem_CHAIN, problem_RI): Initialized reset_fun field.
      	(df_chain_insn_reset, df_chain_bb_reset, df_chain_reset): New
      	functions to clear out all references to def-use or use-def chains.
      
      From-SVN: r110066
      Kenneth Zadeck committed
  9. 20 Jan, 2006 1 commit
    • df-scan.c (df_scan_free_bb_info): Added basic block parameter to be able to… · 3b8266e2
      df-scan.c (df_scan_free_bb_info): Added basic block parameter to be able to clean out basic block when not necessary.
      
      2005-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* df-scan.c (df_scan_free_bb_info): Added basic block parameter to
      	be able to clean out basic block when not necessary.
      	(df_scan_free): Fixed to properly delete information if df is
      	unused before calling df_finish.
      	(df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink,
      	df_insn_create_insn_record, df_bb_refs_record): Fixed formatting
      	or comment typos.
      	(df_bb_refs_delete): New function.
      	(df_refs_delete): Moved per block code to df_bb_refs_delete.
      	* df-core.c (df_set_blocks): Added code to properly clean out
      	unused blocks if they are not part of the blocks to consider.
      	Added additional null check.
      	(df_compact_blocks): Added basic block parameter to free_bb_fun to
      	be able to clean out basic block when not necessary
      	* df.h (df_free_bb_function): Ditto.
      	(df_bb_refs_delete): New function.
      	* df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info,
      	df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added
      	basic block parameter to be able to clean out basic block when not
      	necessary.
      	(df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test.
      	(df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free):
      	Fixed to properly delete information if df is unused before
      	calling df_finish.
      
      From-SVN: r110009
      Kenneth Zadeck committed
  10. 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
  11. 22 Dec, 2005 1 commit
    • df.c (df_bitmaps_free): Only work for bbs for that structures are allocated. · 1052bd54
      	* df.c (df_bitmaps_free): Only work for bbs for that structures are
      	allocated.
      	(df_bb_modify): Realloc tables to the new index.
      	(df_find_use): New function.
      	(df_find_def, df_reg_used): Handle subregs.
      	* df.h (df_find_use): Declare.
      
      	* loop-invariant.c: Include hashtab.h.
      	(struct invariant): Remove processed field, add eqto and reg fields.
      	(struct invariant_expr_entry): New.
      	(invariant_for_use, hash_invariant_expr_1, invariant_expr_equal_p,
      	hash_invariant_expr, eq_invariant_expr, find_or_insert_inv,
      	find_identical_invariants, merge_identical_invariants): New functions.
      	(create_new_invariant): Return the new invariant.  Initialize new
      	fields.
      	(find_invariants): Call merge_identical_invariants.
      	(get_inv_cost, best_gain_for_invariant, set_move_mark,
      	move_invariant_reg): Handle equivalent invariants.
      	* Makefile.in (loop-invariant.o): Add HASHTAB_H dependency.
      
      
      Co-Authored-By: Steven Bosscher <stevenb@suse.de>
      
      From-SVN: r108949
      Zdenek Dvorak committed
  12. 17 Dec, 2005 1 commit
    • basic-block.h: Changed basic block numbering so that the entry block is 0 and the exit block is 1. · 24bd1a0b
      2005-12-17  Danny Berlin <dberlin@dberlin.org>
      	    Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* basic-block.h: Changed basic block numbering so that the entry
      	block is 0 and the exit block is 1.  Changed insn iterators so
      	that they are tolerant of blocks with no insns.
      	* regrename.c (copyprop_hardreg_forward): Changed basic block
      	numbering so that the entry block is 0 and the exit block is 1.
      	* sched-ebb.c (sehedule_ebbs): Ditto.
      	* tracer.c (branch_ratio_cutoff): Ditto.
      	* cfgloopmanip.c (fix_loop_structure): Ditto.
      	* cfghooks.c (verify_flow_info): Ditto.
      	* cfg.c (compact_blocks): Ditto.
      	* reorg.c (dbr_schedule): Ditto.
      	* flow.c (calculate_global_regs_live, libcall_dead_p): Ditto.
      	* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
      	calculate_dominance_info): Ditto.
      	* cfganal.c (create_edge_list, print_edge_list,
      	flow_depth_first_order_compute, flow_dfs_compute_reverse_init,
      	flow_dfs_compute_reverse_add_bb, flow_dfs_compute_reverse_execute,
      	dfs_enumerate_from): Ditto.
      	* global.c (global_alloc, set_up_bb_rts_numbers): Ditto.
      	* ifcvt.c (find_if_case_2): Ditto.
      	* cfgbuild.c (control_flow_insn_p, count_basic_blocks,
      	find_basic_blocks): Ditto.
      	* predict.c (predict_loops, tree_bb_level_predictions,
      	predict_paths_leading_to, propagate_freq): Ditto.
      	* lcm.c (compute_antinout_edge, compute_laterin,
      	compute_available): Ditto.
      	* function.c (thread_prologue_and_epilogue_insns): Ditto.
      	* gcse.c (gcse_main, bypass_jumps): Ditto.
      	* profile.c (compute_branch_probabilities,
      	compute_value_histograms, branch_prob): Ditto.
      	* tree-flow-inline.h (bsi_start, bsi_after_labels,
      	bsi_last): Ditto.
      	* tree-ssa-phiopt.c (tree_ssa_phiopt,
      	blocks_in_phiopt_order): Ditto.
      	* bt-load.c (compute_defs_uses_and_gen, compute_kill,
      	compute_out, link_btr_uses, migrate_btr_defs): Ditto.
      	* tree-dfa.c (collect_dfa_stats): Ditto.
      	* cfgcleanup.c (try_forward_edges, try_optimize_cfg): Ditto.
      	* cfglayout.c (fixup_reorder_chain): Ditto.
      	* bb-reorder.c (reorder_basic_blocks, duplicate_computed_gotos,
      	partition_hot_cold_basic_blocks): Ditto.
      	* var-tracking.c (vt_find_locations): Ditto.
      	* cfgloop.c (flow_loops_cfg_dump, flow_loops_find, get_loop_body): Ditto.
      	* sched-rgn.c (compute_trg_info, init_regions, schedule_insns): Ditto.
      	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, make_edges
      	label_to_block_fn, print_loop_ir, tree_flow_call_edges_add): Ditto.
      	* tree-ssa-reassoc.c (init_reassoc): Ditto.
      	* cfgrtl.c (entry_of_function, rtl_verify_flow_info,
      	rtl_flow_call_edges_add, rtl_flow_call_edges_add): Ditto.
      	* df.c (df_analyze_1, hybrid_search, iterative_dataflow): Ditto
      	and removed unused reverse orders.
      	* df.h (): Ditto.
      	* combine.c: Fix document typo.
      
      
      
      Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>
      
      From-SVN: r108713
      Daniel Berlin committed
  13. 25 Jun, 2005 1 commit
  14. 26 May, 2005 1 commit
    • df.h (DF_SUBREGS, [...]): New. · 57a95bc4
      2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
      
      	* df.h (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
      	* df.c (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
      
      From-SVN: r100197
      Paolo Bonzini committed
  15. 10 Feb, 2005 1 commit
  16. 07 Feb, 2005 1 commit
  17. 02 Feb, 2005 1 commit
  18. 17 Nov, 2004 1 commit
  19. 10 Jun, 2004 1 commit
    • Makefile.in (df.o): Remove fibheap dependency. · 9bf7acfc
      	* Makefile.in (df.o): Remove fibheap dependency.
      	* df.h: Do not include sbitmap.h.
      	(struct ref): New field "data".
      	(DF_REF_DATA): New accessor macro.
      	(struct df): Field "dom" removed.
      	(df_analyze_subcfg): New function.
      	(transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
      	(transfer_function): ... new type.
      	(iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
      	(iterative_dataflow): ... new function.
      	(enum set_representation, struct dataflow): New.
      	* df.c: Do not include fibheap.h.
      
      	(df_reg_def_chain_clean, df_reg_use_chain_clean,
      	(df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
      	prune_to_subcfg, df_bb_modify): New functions.
      	(df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
      	df_refs_update, df_reg_table_realloc, df_ref_create,
      	df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
      	df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
      	df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
      
      	(dataflow_set_a_op_b, dataflow_set_copy): New functions.
      	(df_rd_transfer_function, df_ru_transfer_function,
      	df_lr_transfer_function): Type of bitmaps changed to void *.
      	(hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
      	(hybrid_search): ... new function.
      	(iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
      	(iterative_dataflow): ... new function. Avoid use of fibheaps for
      	a worklist.  Do not process basic blocks unnecessarily.
      
      From-SVN: r82921
      Zdenek Dvorak committed
  20. 03 Jun, 2004 1 commit
    • Makefile.in (RA_H, [...]): New. · 59587b18
      2004-06-03  Jerry Quinn  <jlquinn@optonline.net>
      
      	* Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H,
      	CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New.
      	(TARGET_H): Add insn-modes.h.
      	(tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o,
      	loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o,
      	loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o,
      	loop-unroll.o, ddg.o, modulo-sched.o, predict.o,
      	cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H.
      	(toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o,
      	loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o,
      	bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with
      	CFGLAYOUT_H.
      	(ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o):
      	Replace ra.h with RA_H.
      	(resource.o, regrename.o, insn-conditions.o, insn-emit.o,
      	insn-recog.o): Replace resource.h with RESOURCE_H.
      	(ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
      	sched-ebb.o, sched-vis.o, out_object_file):  Replace sched-int.h
      	with SCHED_INT_H.
      	(web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
      	ra-rewrite.o): Replace df.h with DF_H.
      	(ddg.o, modulo-sched.o): Replace ddf.h with DDG_H.
      	(tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o):
      	Replace tree-ssa-live.h with TREE_SSA_LIVE_H.
      	(insn-conditions.o): Remove unused reload.h.
      	* cfglayout.h: Add include guard.  Include basic-block.h.
      	* cfgloop.h: Add include guard.  Include basic-block.h, rtl.h.
      	* ddg.h: Include sbitmap.h, basic-block.h, df.h.
      	* df.h: Add include guard.  Include bitmap.h, sbitmap.h,
      	basic-block.h.
      	* genconditions.c:  Remove reload.h.
      	* ra.h: Add include guard.  Include bitmap.h, sbitmap.h,
      	hard-reg-set.h, insn-modes.h.
      	* resource.h: Add include guard.  Include hard-reg-set.h.
      	* sched-int.h:  Add include guard.  Include insn-attr.h,
      	basic-block.h, rtl.h.
      	* target.h: Add include guard.  Include insn-modes.h.
      	* tree-ssa-live.h: Include partition.h.
      
      From-SVN: r82600
      Jerry Quinn committed
  21. 30 May, 2004 1 commit
    • c-common.c, [...]: Fix comment typos. · 1ea7e6ad
      	* c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c,
      	ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h,
      	fold-const.c, gcc.c, gimplify.c, haifa-sched.c,
      	modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c,
      	tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c,
      	tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix
      	comment typos.  Follow spelling conventions.
      
      From-SVN: r82439
      Kazu Hirata committed
  22. 25 May, 2004 1 commit
    • ddg.h, [...]: New files. · e5626198
       	* ddg.h, ddg.c, modulo-sched.c: New files.
       	* cfglayout.c (duplicate_insn_chain): Remove "static" and push
       	internals to "dupicate_insn".
       	(duplicate_insn): New function.
       	* cfglayout.h (duplicate_insn_chain, duplicate_insn): New
       	declarations.
       	* common.opt (fmodulo-sched): New flag.
       	* df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
       	Remove static and forward declaration.
       	(df_find_def, df_reg_used, df_bb_regno_last_def_find): New
       	functions.
       	* df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
       	df_bb_regno_last_def_find, df_find_def, df_reg_used): New
       	declarations.
       	* flags.h (flag_modulo_sched): New flag.
       	* opts.c (common_handle_option): Handle modulo-sched flag.
       	* params.def (max-sms-loop-number, sms-max-ii-factor,
       	sms-dfa-history, sms-loop-average-count-threshold): New
       	parameters.
      	* params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
       	SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
       	parameters.
       	* passes.c ("sms", "sms-vcg"): New dumps.
       	(rest_of_handle_sched): Call sms_schedule.
       	* rtl.h (sms_schedule): New declaration.
       	* timevar.def (TV_SMS): New.
       	* toplev.c (flag_modulo_sched): Initialize.
       	(f_options): Handle -fmodulo-sched option.
       	* docs/invoke.texi: Document -fmodulo-sched & -dm options.
       	* docs/passes.texi: Document new SMS pass.f toplev.c doc/invoke.texi doc/passes.texi
      
      Co-Authored-By: Mostafa Hagog <mustafa@il.ibm.com>
      
      From-SVN: r82235
      Ayal Zaks committed
  23. 04 Apr, 2004 1 commit
  24. 24 Feb, 2004 1 commit
  25. 04 Feb, 2004 1 commit
    • alloc-pool.h, [...]: Update copyright. · e146f815
      	gcc/
      	* alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
      	caller-save.c, df.h, genconfig.c, global.c, lcm.c,
      	ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
      	sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
      	config/arm/fpa.md, config/arm/iwmmxt.md,
      	config/arm/netbsd-elf.h, config/arm/netbsd.h,
      	config/m68hc11/m68hc11.md, config/mips/iris5.h,
      	config/mn10300/mn10300.md, config/rs6000/altivec.md,
      	config/sparc/netbsd-elf.h: Update copyright.
      
      	cp/
      	* error.c, search.c: Update copyright.
      
      	java/
      	* typeck.c: Update copyright.
      
      From-SVN: r77265
      Kazu Hirata committed
  26. 31 Jan, 2004 1 commit
  27. 01 Jul, 2003 1 commit
    • basic-block.h: Fix comment typos. · e0bb17a8
      	* basic-block.h: Fix comment typos.
      	* bb-reorder.c: Likewise.
      	* c-format.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* dbxout.c: Likewise.
      	* df.c: Likewise.
      	* df.h: Likewise.
      	* diagnostic.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* et-forest.h: Likewise.
      	* flow.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.h: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genautomata.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* loop-unswitch.c: Likewise.
      	* loop.c: Likewise.
      	* mips-tfile.c: Likewise.
      	* optabs.c: Likewise.
      	* ra-build.c: Likewise.
      	* ra-colorize.c: Likewise.
      	* ra-rewrite.c: Likewise.
      	* ra.h: Likewise.
      	* regmove.c: Likewise.
      	* reload.c: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-vis.c: Likewise.
      	* sreal.c: Likewise.
      	* ssa-ccp.c: Likewise.
      	* ssa.c: Likewise.
      	* toplev.c: Likewise.
      	* tree-inline.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      
      From-SVN: r68770
      Kazu Hirata committed
  28. 29 Jun, 2003 1 commit
    • cse.c: Convert prototypes to ISO C90. · 7080f735
      	* cse.c: Convert prototypes to ISO C90.
      	* cselib.c: Likewise.
      	* cselib.h: Likewise.
      	* dbxout.c: Likewise.
      	* debug.c: Likewise.
      	* df.c: Likewise.
      	* df.h: Likewise.
      	* dojump.c: Likewise.
      	* doloop.c: Likewise.
      	* dominance.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* dwarfout.c: Likewise.
      
      From-SVN: r68673
      Andreas Jaeger committed
  29. 20 Mar, 2003 1 commit
    • 2003-03-20 Daniel Berlin <dberlin@dberlin.org> · b3411d7e
      	Merge changes from new-regalloc-branch
      
      	From Michael Matz  <matz@suse.de>
      	* df.c (df_ref_record_1): Move init of loc to safe point.
      	Only recurse on interesting things in parallels.
      	Handle CLASS_CANNOT_CHANGE_MODE smarter.
      	(df_uses_record): Ditto.
      
      	* df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
      	it's already okay to use memory operands in (IE doesn't require
      	adding another insn or anything).
      
      From-SVN: r64629
      Daniel Berlin committed
  30. 11 Mar, 2003 1 commit
  31. 07 Mar, 2003 1 commit
    • df.h (enum df_ref_flags.DF_REF_STRIPPED): New. · 50aac998
              * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
              (DF_FOR_REGALLOC): New.
              * df.c (df_ref_record): Set DF_REF_STRIPPED.
              (read_modify_subreg_p): Simplify.
              (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
              Use DF_FOR_REGALLOC.
              * ra.h (struct web): New member subreg_stripped.
              (invalid_mode_change_regs): Declare.
              * ra.c (invalid_mode_change_regs): New.
              (init_ra): Initialize it.
              * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
              Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
              (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
              * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
              Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
      
      From-SVN: r63952
      Michael Matz committed
  32. 26 Jan, 2003 1 commit
    • df.h: Update comments, tidy formatting. · 7890e8f3
      	* df.h: Update comments, tidy formatting.
      	(DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
      	REVERSE, UNION, INTERSECTION.  All uses updated.
      	(OLD_DF_INTERFACE): Remove.
      	(struct insn_info): Remove commented out insn field.
      	* df.c: Update comments, tidy formatting.
      	(df_def_table_realloc): Remove.
      
      From-SVN: r61819
      Michael Hayes committed
  33. 18 Jan, 2003 1 commit
    • alias.c: Fix comment typos. · 95bd1dd7
      	* alias.c: Fix comment typos.
      	* basic-block.h: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-decl.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.h: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* convert.c: Likewise.
      	* cpphash.h: Likewise.
      	* cpplex.c: Likewise.
      	* cpplib.h: Likewise.
      	* df.h: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dwarf2.h: Likewise.
      
      From-SVN: r61462
      Kazu Hirata committed
  34. 15 Jul, 2002 1 commit
    • [multiple changes] · ed8d2920
      2002-07-15  Michael Matz  <matz@suse.de>,
                  Daniel Berlin  <dberlin@dberlin.org>,
      	    Denis Chertykov  <denisc@overta.ru>
      
      	Add a new register allocator.
      
      	* ra.c: New file.
      	* ra.h: New file.
      	* ra-build.c: New file.
      	* ra-colorize.c: New file.
      	* ra-debug.c: New file.
      	* ra-rewrite.c: New file.
      
      	* Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
      	(ra-rewrite.o): New .o files for libbackend.a.
      	(GTFILES): Add basic-block.h.
      
      	* toplev.c (flag_new_regalloc): New.
      	(f_options): New option "new-ra".
      	(rest_of_compilation): Call initialize_uninitialized_subregs()
      	only for the old allocator.  If flag_new_regalloc is set, call
      	new allocator, instead of local_alloc(), global_alloc() and
      	friends.
      
      	* doc/invoke.texi: Document -fnew-ra.
      	* basic-block.h (FOR_ALL_BB): New.
      	* config/rs6000/rs6000.c (print_operand): Write small constants
      	as @l+80.
      
      	* df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
      	(df_reg_table_realloc): Make size at least as large as max_reg_num().
      	(df_insn_table_realloc): Size argument now is absolute, not relative.
      	Changed all callers.
      
      	* gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
      	* regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
      
      	2002-06-20  Michael Matz  <matz@suse.de>
      
      	* df.h (struct ref.id): Make unsigned.
      	* df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
      
      	2002-06-13  Michael Matz  <matz@suse.de>
      
      	* df.h (DF_REF_MODE_CHANGE): New flag.
      	* df.c (df_def_record_1, df_uses_record): Set this flag for refs
      	involving subregs with invalid mode changes, when
      	CLASS_CANNOT_CHANGE_MODE is defined.
      
      	2002-05-07  Michael Matz  <matz@suse.de>
      
      	* reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
      
      	2002-05-03  Michael Matz  <matz@suse.de>
      
      	* sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
      
      	Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
      
      	* regclass.c (regclass): Work with all regs which have sets or
      	refs.
      	(reg_scan_mark_refs): Count regs inside (clobber ...).
      
      	2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
      
      	* df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
      	(df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
      	add new refs.
      	(df_bb_refs_update): Don't clear insns_modified here, ...
      	(df_analyse): ... but here.
      
      	* sbitmap.c (dump_sbitmap_file): New.
      	(debug_sbitmap): Use it.
      
      	* sbitmap.h (dump_sbitmap_file): Add prototype.
      
      	2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
      
      	* df.c (df_insn_modify): Grow the UID table if necessary, rather
      	than assume all emits go through df_insns_modify.
      
      	2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
      
      	* regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
      	increase REG_N_REFS (like flow does), so that regclass doesn't
      	think a reg is useless, and thus, not calculate a class, when it
      	really should have.
      
      	2001-01-28  Daniel Berlin  <dberlin@redhat.com>
      
      	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
      	dataflow analysis.
      
      From-SVN: r55458
      Michael Matz committed
  35. 17 May, 2002 1 commit
  36. 16 May, 2002 1 commit
  37. 25 Jan, 2002 1 commit
    • df.c (df_ref_create, [...]): Kill BB argument. · 5a133afd
      	* df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB argument.
      	* df.h (struct ref): Kill B.
      	(DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
      
      	* basic-block.h (PROP_EQUAL_NOTES): New flag.
      	* flow.c (propagate_one_insn): Use it.
      	(mark_used_regs): Handle NIL.
      
      From-SVN: r49220
      Jan Hubicka committed
  38. 26 Nov, 2001 1 commit
  39. 19 Nov, 2001 1 commit
    • gcse.c (try_replace_reg): Copy RTX before creating note. · 7fcd7218
      	* gcse.c (try_replace_reg): Copy RTX before creating note.
      
      	* df.h (df_ref_flags): New uenum.
      	(DF_REF_FLAGS): New macro.
      	(struct ref): Add field "flags".
      	* df.c (HANDLE_SUBREG): Remove.
      	(df_ref_create): Likewise; set flags field of ref.
      	(df_def_record_1): Strip down read_write subreg; remove
      	commented out code; set READ_WRITE flag.
      	(read_modify_subreg_p): New static function.
      	(df_uses_record): Cleanup SET handling; set READ_WRITE flag;
      	new argument "flags".
      	(df_insn_refs_record): Update call of df_uses_record.
      	(df_insn_modify): Avoid #if 0 around comment.
      	(df_dump): Dump the read/write flag.
      
      	* predict.c (propagate_freq): Make cyclic_probability and frequency
      	volatile
      
      	* i386.c (ix86_cc_mode): Accept USE.
      
      	* cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
      	jump is turned into simplejump.
      
      From-SVN: r47175
      Jan Hubicka committed
  40. 07 Nov, 2001 1 commit
    • Makefile.in (df.o): Add fibheap.h to dependencies. · 2a6f0eca
      2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
      
              * Makefile.in (df.o): Add fibheap.h to dependencies.
      
              * df.h: Add prototypes for transfer functions, iterative_dataflow
              functions.
              (enum df_flow_dir): New enum.
              (enum df_confluence_op): New enum.
              (struct df): Add inverse_rts_map.
      
              * df.c: Add sbitmap.h to the list of includes.
              (df_rd_global_compute): Removed.
              (df_ru_global_compute): Removed.
              (df_lr_global_compute): Removed.
              (df_rd_transfer_function): New function.
              (df_ru_transfer_function): New function.
              (df_lr_transfer_function): New function.
              (df_analyse_1): allocate/compute/free df->inverse_rts_map.
              Use iterative_dataflow_bitmap instead of df_*_global_compute.
              (iterative_dataflow_sbitmap): New function.
              (iterative_dataflow_bitmap): New function.
      
      From-SVN: r46827
      Daniel Berlin committed