Richard Sandiford <richard.sandif...@arm.com> writes:
> FWIW, here's a very rough initial version of the kind of thing
> I was thinking about.  Hopefully the hook documentation describes
> the approach.  It's deliberately (overly?) flexible.

Argh!  I forgot:

diff --git a/gcc/ira-color.cc b/gcc/ira-color.cc
index de34be31f48..4b1e7eff41f 100644
--- a/gcc/ira-color.cc
+++ b/gcc/ira-color.cc
@@ -5253,6 +5253,7 @@ color (void)
 {
   allocno_stack_vec.create (ira_allocnos_num);
   memset (allocated_hardreg_p, 0, sizeof (allocated_hardreg_p));
+  CLEAR_HARD_REG_SET (allocated_callee_save_regs);
   ira_initiate_assign ();
   do_coloring ();
   ira_finish_assign ();

> This still needs a lot of clean-up and testing, but I thought I might
> as well send what I have before leaving for the weekend.  Does it look
> reasonable in principle?

To be clear, "testing" of course includes performance testing
(SPEC, but alo other things).

Thanks,
Richard

Reply via email to