aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2011-03-28 01:53:24 +0000
committerVladimir Makarov <vmakarov@redhat.com>2011-03-28 01:53:24 +0000
commit116525cb72de85c5116d333f7784920cb2e35ba8 (patch)
tree761665b37aeeeb5eb4e3f9b4770772ea49679cc0 /gcc/opts.c
parentb7900981c1f415a26aa6d5036b618fbf08f2cfe6 (diff)
2011-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/48307 Revert the previous patch. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@171589 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index 8cce46a2951..165d7ec3a55 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -289,6 +289,11 @@ init_options_struct (struct gcc_options *opts, struct gcc_options *opts_set)
opts_set->x_param_values = XCNEWVEC (int, num_params);
init_param_values (opts->x_param_values);
+ /* Use priority coloring if cover classes is not defined for the
+ target. */
+ if (targetm.ira_cover_classes == NULL)
+ opts->x_flag_ira_algorithm = IRA_ALGORITHM_PRIORITY;
+
/* Initialize whether `char' is signed. */
opts->x_flag_signed_char = DEFAULT_SIGNED_CHAR;
/* Set this to a special "uninitialized" value. The actual default
@@ -753,6 +758,14 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
if (!opts->x_flag_sel_sched_pipelining)
opts->x_flag_sel_sched_pipelining_outer_loops = 0;
+ if (!targetm.ira_cover_classes
+ && opts->x_flag_ira_algorithm == IRA_ALGORITHM_CB)
+ {
+ inform (loc,
+ "-fira-algorithm=CB does not work on this architecture");
+ opts->x_flag_ira_algorithm = IRA_ALGORITHM_PRIORITY;
+ }
+
if (opts->x_flag_conserve_stack)
{
maybe_set_param_value (PARAM_LARGE_STACK_FRAME, 100,