summaryrefslogtreecommitdiff
path: root/gcc/ira-costs.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ira-costs.c')
-rw-r--r--gcc/ira-costs.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 0c59b03ded2..034eff831ed 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -2048,9 +2048,10 @@ ira_costs (void)
ira_free (total_allocno_costs);
}
-/* Entry function which defines classes for pseudos. */
+/* Entry function which defines classes for pseudos.
+ Set pseudo_classes_defined_p only if DEFINE_PSEUDO_CLASSES is true. */
void
-ira_set_pseudo_classes (FILE *dump_file)
+ira_set_pseudo_classes (bool define_pseudo_classes, FILE *dump_file)
{
allocno_p = false;
internal_flag_ira_verbose = flag_ira_verbose;
@@ -2059,7 +2060,9 @@ ira_set_pseudo_classes (FILE *dump_file)
initiate_regno_cost_classes ();
find_costs_and_classes (dump_file);
finish_regno_cost_classes ();
- pseudo_classes_defined_p = true;
+ if (define_pseudo_classes)
+ pseudo_classes_defined_p = true;
+
finish_costs ();
}