diff options
author | Luis Machado <luis.machado@linaro.org> | 2018-05-07 15:47:14 +0000 |
---|---|---|
committer | Luis Machado <luisgpm@gcc.gnu.org> | 2018-05-07 15:47:14 +0000 |
commit | 47811d7dbe38c4e47c83426aa29ae41d7db055c1 (patch) | |
tree | ba5b251e40d7685d9bb682e933059f22c8f5a2ca /gcc/tree-ssa-loop-prefetch.c | |
parent | fd056e39d11a88adad5ab91fd3a0a556803e72a7 (diff) | |
download | gcc-47811d7dbe38c4e47c83426aa29ae41d7db055c1.zip gcc-47811d7dbe38c4e47c83426aa29ae41d7db055c1.tar.gz gcc-47811d7dbe38c4e47c83426aa29ae41d7db055c1.tar.bz2 |
re PR bootstrap/85681 (r259995 breaks bootstrap on x86_64-*-freebsd)
2018-05-07 Luis Machado <luis.machado@linaro.org>
PR bootstrap/85681
Revert:
2018-05-07 Luis Machado <luis.machado@linaro.org>
* config/aarch64/aarch64-protos.h (cpu_prefetch_tune)
<prefetch_dynamic_strides>: New const bool field.
* config/aarch64/aarch64.c (generic_prefetch_tune): Update to include
prefetch_dynamic_strides.
(exynosm1_prefetch_tune): Likewise.
(thunderxt88_prefetch_tune): Likewise.
(thunderx_prefetch_tune): Likewise.
(thunderx2t99_prefetch_tune): Likewise.
(qdf24xx_prefetch_tune): Likewise. Set prefetch_dynamic_strides to false.
(aarch64_override_options_internal): Update to set
PARAM_PREFETCH_DYNAMIC_STRIDES.
* doc/invoke.texi (prefetch-dynamic-strides): Document new option.
* params.def (PARAM_PREFETCH_DYNAMIC_STRIDES): New.
* params.h (PARAM_PREFETCH_DYNAMIC_STRIDES): Define.
* tree-ssa-loop-prefetch.c (should_issue_prefetch_p): Account for
prefetch-dynamic-strides setting.
2018-05-07 Luis Machado <luis.machado@linaro.org>
* config/aarch64/aarch64-protos.h (cpu_prefetch_tune)
<minimum_stride>: New const int field.
* config/aarch64/aarch64.c (generic_prefetch_tune): Update to include
minimum_stride field.
(exynosm1_prefetch_tune): Likewise.
(thunderxt88_prefetch_tune): Likewise.
(thunderx_prefetch_tune): Likewise.
(thunderx2t99_prefetch_tune): Likewise.
(qdf24xx_prefetch_tune): Likewise. Set minimum_stride to 2048.
(aarch64_override_options_internal): Update to set
PARAM_PREFETCH_MINIMUM_STRIDE.
* doc/invoke.texi (prefetch-minimum-stride): Document new option.
* params.def (PARAM_PREFETCH_MINIMUM_STRIDE): New.
* params.h (PARAM_PREFETCH_MINIMUM_STRIDE): Define.
* tree-ssa-loop-prefetch.c (should_issue_prefetch_p): Return false if
stride is constant and is below the minimum stride threshold.
From-SVN: r260000
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.c')
-rw-r--r-- | gcc/tree-ssa-loop-prefetch.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c index af89d70..2f10db1 100644 --- a/gcc/tree-ssa-loop-prefetch.c +++ b/gcc/tree-ssa-loop-prefetch.c @@ -992,32 +992,6 @@ prune_by_reuse (struct mem_ref_group *groups) static bool should_issue_prefetch_p (struct mem_ref *ref) { - /* Do we want to issue prefetches for non-constant strides? */ - if (!cst_and_fits_in_hwi (ref->group->step) && PREFETCH_DYNAMIC_STRIDES == 0) - { - if (dump_file && (dump_flags & TDF_DETAILS)) - fprintf (dump_file, - "Skipping non-constant step for reference %u:%u\n", - ref->group->uid, ref->uid); - return false; - } - - /* Some processors may have a hardware prefetcher that may conflict with - prefetch hints for a range of strides. Make sure we don't issue - prefetches for such cases if the stride is within this particular - range. */ - if (cst_and_fits_in_hwi (ref->group->step) - && absu_hwi (int_cst_value (ref->group->step)) < PREFETCH_MINIMUM_STRIDE) - { - if (dump_file && (dump_flags & TDF_DETAILS)) - fprintf (dump_file, - "Step for reference %u:%u (%d) is less than the mininum " - "required stride of %d\n", - ref->group->uid, ref->uid, int_cst_value (ref->group->step), - PREFETCH_MINIMUM_STRIDE); - return false; - } - /* For now do not issue prefetches for only first few of the iterations. */ if (ref->prefetch_before != PREFETCH_ALL) |