PATCH for review for mainline.
Kenneth Zadeck
zadeck@naturalbridge.com
Tue Jan 17 04:14:00 GMT 2006
Kenneth Zadeck wrote:
> This fixes three interrelated storage management issues with the new
> df code.
>
> 1) The scanning information was not being properly cleaned out when
> the set of blocks to process was being changed.
> 2) The test was wrong for resizing one of the datastructures for the
> rd and ru problems. 3) The storage freeing code for all of the
> problems would cause a lot of problems if df_analyze was actually
> never called before calling df_finish for the instance of df.
> The second problem caused a failure for steven bosscher with the loop
> invariant code on the dataflow branch. This patch will be committed
> there shortly.
>
> This code has been bootstrapped and regression tested on
> i686-pc-linux-gnu.
>
> Kenny
>
> 2005-01-16 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.
> (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.
>
Further testing on the dataflow branch yielded a defect with this patch
which has been fixed in the enclosed patch.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: storagefix2b.diff
Type: text/x-patch
Size: 16492 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060117/5c701d47/attachment.bin>
More information about the Gcc-patches
mailing list