[dataflow]:PATCH COMMITTED to speed up compilation of functions with many small loops.

Kenneth Zadeck zadeck@naturalbridge.com
Mon Apr 16 22:59:00 GMT 2007


from stevenb


> >
> >Timings of compilation time of fma1.f90 at -O2:
> >Dataflow branch without patch: ~72.5s
> >Dataflow branch after applying patch: ~49.5s
> >
> >That's a 32% compile time improvement!
> >
> >For reference, trunk as of r123653: ~43.5
> >
> >So the dataflow branch is still slower, but not nearly as much as
> >before: 67% before, 14% after.
>   

This removes a issue where the entire function was being examined to
build the table of defs for a subset (an inner loop) of the program.

I bootstrapped and regression tested this on x86-32, x86-64, ia-64 and ppc.

kenny




2007-04-15  Kenneth Zadeck <zadeck@naturalbridge.com>

    * df-scan.c (df_ref_create, df_reg_chain_unlink,
    df_install_refs): Use df->analyze_subset.
    (df_reorganize_refs_by_reg_by_reg, df_reorganize_refs_by_reg_by_insn):
    New functions. 
    (df_reorganize_refs_by_reg): Split into
    df_reorganize_refs_by_reg_by_reg,
    df_reorganize_refs_by_reg_by_insn.
    (df_add_refs_to_table): Do not add hardware_regs if not asked for.
    (df_reorganize_refs_by_insn): Move call to count_refs.
    (df_maybe_reorganize_def_refs, df_maybe_reorganize_use_refs):
    Remove code to modify df->total_size.
        * df-core.c (df_set_blocks): Set df->analyze_subset.
    (df_finish_pass): Clear df->analyze->subset.
    (df_analyze): Use df->analyze_subset.
    (df_dump_start): Remove total_size from dump. 
    * df.h (DF_RI_NO_UPDATE, DF_DEFS_TOTAL_SIZE, DF_USES_TOTAL_SIZE):
    Removed.
    (df.analyze_subset): New field.  * df-problems.c (df_ri_alloc,
    df_ri_compute): Removed DF_RI_NO_UPDATE.
   



-------------- next part --------------
A non-text attachment was scrubbed...
Name: reg-reorg.diff
Type: text/x-patch
Size: 21943 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070416/5364698b/attachment.bin>


More information about the Gcc-patches mailing list