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]

Re: [PATCH] more enhancements to df on the mainline.


Daniel Berlin wrote:
Kenneth Zadeck wrote:
Ian,

This patch is built on top of the two patches that I submitted yesterday
(http://gcc.gnu.org/ml/gcc-patches/2006-01/msg00971.html and
http://gcc.gnu.org/ml/gcc-patches/2006-01/msg00889.html).

This patch deals with the rtl scanning (the patches yesterday dealt with
propagation and storage management).  This patch contains all of the
code necessary to find the registers live on entry to a function that we
discussed earlier.

This patch has been bootstrapped and regression tested on
i686-pc-linux-gnu.

Thanks,

Kenny

2005-01-17  Daniel Berlin  <dberlin@dberlin.org>
       Kenneth Zadeck <zadeck@naturalbridge.com>

* doc/tm.texi: Added TARGET_EXTRA_LIVE_ON_ENTRY.
* targhooks.c (hook_void_voidp): New hook prototype.
* targhoohs.h (hook_void_voidp): New hook prototype.
* df-scan.c (df_all_hard_regs): Removed.
(df_scan_dump, df_hard_reg_init): Removed df_all_hard_regs.
(df_scan_free_internal, df_scan_alloc, df_scan_dump): Added
df->entry_block_defs.
(df_uses_record): Plumbed flag field properly thru calls.
Record EH_RETURN_DATA_REGNO in eh blocks unconditionally.
(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,
df_ru_bb_local_compute, df_rd_bb_local_compute_process_def,
df_rd_bb_local_compute, df_lr_bb_local_compute,
df_ur_bb_local_compute, df_urec_bb_local_compute,
df_chain_create_bb): Added code to handle artifical
defs in the entry to a function.
(df_ur_local_finalize, df_urec_init, df_urec_local_finalize):
Removed entry.
(df_ri_bb_compute): Added detection of last use of pseudos.

You missed a bunch of *'s in your changelog :)


You meant to write

   * 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.
   (TARGET_EXTRA_LIVE_ON_ENTRY): Added value
   for target hook.
   * dce.c (marked_insn_p): Added code to handle artifical defs.


I fixed my copy so the correct code will go in. I also removed the last line, which was only meant for the dataflow branch since dce has not been checked in yet.

kenny


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