diff options
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.c')
-rw-r--r-- | gcc/tree-ssa-loop-prefetch.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c index f34214e..41ada26 100644 --- a/gcc/tree-ssa-loop-prefetch.c +++ b/gcc/tree-ssa-loop-prefetch.c @@ -115,19 +115,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA /* Magic constants follow. These should be replaced by machine specific numbers. */ -/* A number that should roughly correspond to the number of instructions - executed before the prefetch is completed. */ - -#ifndef PREFETCH_LATENCY -#define PREFETCH_LATENCY 200 -#endif - -/* Number of prefetches that can run at the same time. */ - -#ifndef SIMULTANEOUS_PREFETCHES -#define SIMULTANEOUS_PREFETCHES 3 -#endif - /* True if write can be prefetched by a read prefetch. */ #ifndef WRITE_CAN_USE_READ_PREFETCH @@ -140,10 +127,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define READ_CAN_USE_WRITE_PREFETCH 0 #endif -/* Cache line size. Assumed to be a power of two. */ +/* The size of the block loaded by a single prefetch. Usually, this is + the same as cache line size (at the moment, we only consider one level + of cache hierarchy). */ #ifndef PREFETCH_BLOCK -#define PREFETCH_BLOCK 32 +#define PREFETCH_BLOCK L1_CACHE_LINE_SIZE #endif /* Do we have a forward hardware sequential prefetching? */ @@ -1026,6 +1015,19 @@ tree_ssa_prefetch_arrays (struct loops *loops) || PREFETCH_BLOCK == 0) return 0; + if (dump_file && (dump_flags & TDF_DETAILS)) + { + fprintf (dump_file, "Prefetching parameters:\n"); + fprintf (dump_file, " simultaneous prefetches: %d\n", + SIMULTANEOUS_PREFETCHES); + fprintf (dump_file, " prefetch latency: %d\n", PREFETCH_LATENCY); + fprintf (dump_file, " L1 cache size: %d (%d bytes)\n", + L1_CACHE_SIZE, L1_CACHE_SIZE * L1_CACHE_LINE_SIZE); + fprintf (dump_file, " L1 cache line size: %d\n", L1_CACHE_LINE_SIZE); + fprintf (dump_file, " prefetch block size: %d\n", PREFETCH_BLOCK); + fprintf (dump_file, "\n"); + } + initialize_original_copy_tables (); if (!built_in_decls[BUILT_IN_PREFETCH]) |