This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] df memory saving patch


Here's a patch that has been kicking around in my tree for many months
now.  It's purpose is to clean up the interface and reduce the memory
requirements of the dataflow routines.  It saves a word per each
register reference and does not generate use and clobber rtxes for
implicit register references.  It also speeds up the register reference
scanning for the more common cases and unifies the function parameter
sequences.

Michael

2003-07-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* df.h: Include rtl.h, bitmap.h, sbitmap.h, basic-block.h.
	(enum df_ref_type, DF_REF_TYPE_NAMES, enum df_ref_flags): Remove.
	(df_ref_flags_t): Add enumeration typedef.
	(struct ref): Remove type field.
	(DF_REF_TYPE): Remove macro.
	(DF_REF_REG_DEF_P, DF_REF_REG_USE_PP): Modify macros.
	(DF_REF_REG_MEM_STORE_P, DF_REF_REG_MEM_LOAD_P): Likewise.
	(DF_REF_MODE_CHANGE_P, DF_REF_READ_WRITE_P): Add macros.
	(DF_REF_STRIPPED_P, DF_REF_MEM_OK): Likewise.
	(debug_df_regno_rtl): Add prototype.

	* df.c: (df_reg_use_gen, df_reg_clobber_gen): Delete.
	(df_ref_create): Remove ref_type argument.
	(df_ref_record): Rename to df_reg_record.
	(df_subreg_record): Add function.
	(df_ref_record1): Remove ref_type argument.
	(df_defs_record, df_insn_refs_record): Remove bb argument.
	(df_uses_record): Remove bb and ref_type arguments.
	(df_defs_rtl_debug, df_regno_rtl_debug, debug_df_regno_rtl): Add functions.
	
	* ra-build.c (parts_to_webs_1): Use DF_REF_MODE_CHANGE_P, DF_REF_STRIPPED_P,
	DF_REF_MODE_CHANGED_P, DF_REF_STRIPPED_P macros.

Attachment: df.patch.gz
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]