This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
patch to fix PR21617
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 12 Dec 2011 16:04:34 -0500
- Subject: patch to fix PR21617
The following patch solves PR 21617 which is described on
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21617.
Just adding number of necessary hard registers solves the problem but
creates 2% SPEC2000 perlbmk degradation on x86. Fortunately, removing
allocno class comparison removes the degradation. The allocno class
comparison was originally added for debugging purposes to put coloring
of allocnos of the same class in one place. It was ok when we had cover
classes which did not intersect. Now allocno classes intersect and this
comparison should be not used (at least as highest priority heuristic).
Beside solving the problem, the patch improves a bit SPEC2000
performance and code size on x86.
The patch was successfully bootstrapped on x86/x86-64. I expect it
should be pretty safe for other targets because it changes heuristics only.
Committed as rev. 182263.
2011-12-12 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/21617
* ira-color.c (bucket_allocno_compare_func): Don't compare
allocno classes. Compare number of hard registers needed.
Attachment:
pr21617.patch
Description: Text document