aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/ia64/ia64-protos.h2
-rw-r--r--gcc/config/ia64/ia64.c10
-rw-r--r--gcc/config/ia64/ia64.h4
-rw-r--r--gcc/config/ia64/t-ia642
-rw-r--r--gcc/doc/invoke.texi2
-rw-r--r--gcc/params.def2
7 files changed, 30 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index db2574e..ce5bda7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+ * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
+ value to 0.
+ * doc/invoke.texi (max-sched-extend-regions-iters): Document.
+ * config/ia64/ia64.c (params.h): New header.
+ (ia64_optimization_options): New function to adjust parameters.
+ * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
+ * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
+ * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
+
2006-06-05 Kazu Hirata <kazu@codesourcery.com>
* stor-layout.c (debug_rli): Fix a typo in a debug message.
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index b05cdab..c4bf61d 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -110,3 +110,5 @@ extern enum direction ia64_hpux_function_arg_padding (enum machine_mode, tree);
extern void ia64_hpux_handle_builtin_pragma (struct cpp_reader *);
extern void ia64_output_function_profiler (FILE *, int);
extern void ia64_profile_hook (int);
+
+extern void ia64_optimization_options (int, int);
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 076814e..14e85ca 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -54,6 +54,7 @@ Boston, MA 02110-1301, USA. */
#include "tree-gimple.h"
#include "intl.h"
#include "debug.h"
+#include "params.h"
/* This is used for communication between ASM_OUTPUT_LABEL and
ASM_OUTPUT_LABELREF. */
@@ -9749,4 +9750,13 @@ ia64_invalid_binary_op (int op ATTRIBUTE_UNUSED, tree type1, tree type2)
return NULL;
}
+/* Implement overriding of the optimization options. */
+void
+ia64_optimization_options (int level ATTRIBUTE_UNUSED,
+ int size ATTRIBUTE_UNUSED)
+{
+ /* Let the scheduler form additional regions. */
+ set_param_value ("max-sched-extend-regions-iters", 2);
+}
+
#include "gt-ia64.h"
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index a4e0c7e..c9bb417 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -2043,4 +2043,8 @@ struct machine_function GTY(())
/* Switch on code for querying unit reservations. */
#define CPU_UNITS_QUERY 1
+/* Define this to change the optimizations performed by default. */
+#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
+ ia64_optimization_options ((LEVEL), (SIZE))
+
/* End of ia64.h */
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index e3713f9..6053588 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -51,4 +51,4 @@ ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
# genattrtab generates very long string literals.
insn-attrtab.o-warn = -Wno-error
-ia64.o: debug.h
+ia64.o: debug.h $(PARAMS_H)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e877d7c..7e2f757 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -6225,7 +6225,7 @@ for interblock speculative scheduling. The default value is 40.
The maximum number of iterations through CFG to extend regions.
0 - disable region extension,
N - do at most N iterations.
-The default value is 2.
+The default value is 0.
@item max-sched-insn-conflict-delay
The maximum conflict delay for an insn to be considered for speculative motion.
diff --git a/gcc/params.def b/gcc/params.def
index e8d8615..6d230fc 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -502,7 +502,7 @@ DEFPARAM(PARAM_MIN_SPEC_PROB,
DEFPARAM(PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS,
"max-sched-extend-regions-iters",
"The maximum number of iterations through CFG to extend regions",
- 2, 0, 0)
+ 0, 0, 0)
DEFPARAM(PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
"max-sched-insn-conflict-delay",