diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db2574eda78f8eca88cd5be37e180b8056c3de41..ce5bda753d27476925eda5cc07e227d677048669 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 b05cdab6bf4c5090bc35ebd25bdca21b76047876..c4bf61d98292f0720e4ace9a9032daf4133aa5a2 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 076814ec011af39ce3fd4a8af8d9983af194805b..14e85cae3c7b67d737569db2018f5562256905f8 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 a4e0c7eba2cd4b8d71e97b6e6a0ab240b4c34d93..c9bb417166244d578a5ab612d9ac84313382c474 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 e3713f91f23b7bd90e98ad427782f43b739475a2..60535882bb72ffa5bd6bb63c30641b288bf5d8c6 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 e877d7c371549ef0df696c3deaf402c2dc3c30e3..7e2f75790264ac832d908d3f6705ef7d39c20094 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 e8d861515e5656e85494a87b057ca03b8f47c76f..6d230fc2cfc3a29bba3cb214fa45d4e1a1f0841e 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",