[Bug middle-end/44576] [4.5/4.6 Regression] testsuite/gfortran.dg/zero_sized_1.f90 with huge compile time on prefetching + peeling

spop at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Jul 9 23:09:00 GMT 2010



------- Comment #21 from spop at gcc dot gnu dot org  2010-07-09 23:09 -------
Subject: Bug 44576

Author: spop
Date: Fri Jul  9 23:08:55 2010
New Revision: 162023

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162023
Log:
pr44576 Avoid un-necessary prefetch analysis by distributing the cost models

2010-07-09  Changpeng Fang  <changpeng.fang@amd.com>

        PR tree-optimization/44576
        * tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
        New.  Pull out from is_loop_prefetching_profitable to implement
        the trip count to ahead ratio heuristic.
        (mem_ref_count_reasonable_p): New.  Pull out from
        is_loop_prefetching_profitable to implement the instruction to
        memory reference ratio heuristic.  Also consider not reasonable if
        the memory reference count is above a threshold (to avoid
        explosive compilation time.
        (insn_to_prefetch_ratio_too_small_p): New.  Pull out from
        is_loop_prefetching_profitable to implement the instruction to
        prefetch ratio heuristic.
        (is_loop_prefetching_profitable): Removed.
        (loop_prefetch_arrays): Distribute the cost analysis across the
        function to allow early exit of the prefetch analysis.
        is_loop_prefetching_profitable is splitted into three functions,
        with each one called as early as possible.
        (PREFETCH_MAX_MEM_REFS_PER_LOOP): New.  Threshold above which the
        number of memory references in a loop is considered too many.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-loop-prefetch.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44576



More information about the Gcc-bugs mailing list