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.