[Bug rtl-optimization/57462] ira-costs considers only a single register at a time

vmakarov at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri May 31 13:55:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57462

Vladimir Makarov <vmakarov at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at redhat dot com

--- Comment #1 from Vladimir Makarov <vmakarov at redhat dot com> ---
  Thanks for the analysis.  That would be an interesting problem to solve.
Although I don't know when I could start work on the problem.

  The code you are mentioning is actually adaptation of code from old regclass
pass which existed since day 1 of GCC. The optimal solution of the problem
might be NP-complete (I am not sure about it, but at least long time ago I
tried to describe it by ILP).

  I should say that even the current cost code is very expensive and speeding
up is on my list to do.  Better solution (through better heuristics) probably
will be even more expensive.  IMHO, it is also GCC specific problem because GCC
postpones code selection (usually compilers do complete code selection before
RA, e.g. selecting insn for add in this case) and that is a consequence of GCC
machine description model.  Doing complete code selection before RA is also
challenging task.

  In any case, the problem is known and quite interesting.  There are a lot of
different approaches to solve it (some require even GCC architectural changes),
none of them are easy.  So I don't think, the problem will be solved soon. 
Sorry.



More information about the Gcc-bugs mailing list