aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/s390/s390.c8
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 024d982..1edcb62 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-05-25 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (optimization_options): Fix and move the
+ flag_prefetch_loop_arrays override ...
+ (override_options): ... here.
+
2010-05-25 Joseph Myers <joseph@codesourcery.com>
* diagnostic.c: Don't include plugin.h.
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 72a7685..2972545 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -1474,9 +1474,6 @@ optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED)
without maintaining a stack frame back-chain. */
flag_asynchronous_unwind_tables = 1;
- if (HAVE_prefetch || optimize >= 3)
- flag_prefetch_loop_arrays = 1;
-
/* Use MVCLE instructions to decrease code size if requested. */
if (size != 0)
target_flags |= MASK_MVCLE;
@@ -1676,6 +1673,11 @@ override_options (void)
set_param_value ("prefetch-min-insn-to-mem-ratio", 2);
if (!PARAM_SET_P (PARAM_SIMULTANEOUS_PREFETCHES))
set_param_value ("simultaneous-prefetches", 6);
+
+ /* This cannot reside in optimization_options since HAVE_prefetch
+ requires the arch flags to be evaluated already. */
+ if (HAVE_prefetch && optimize >= 3)
+ flag_prefetch_loop_arrays = 1;
}
/* Map for smallest class containing reg regno. */