This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, ira] handle all fixed register classes
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: Jim Wilson <wilson at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 20 Apr 2010 11:20:25 -0400
- Subject: Re: [PATCH, ira] handle all fixed register classes
- References: <1271727188.2687.118.camel@localhost>
Jim Wilson wrote:
This is ok, Jim. Thanks a lot for working on this problem.
This is the rest of the solution for PR43520. The IA-64 port has some
register classes in which all of the registers are fixed. The
scheduling reg pressure code in ira sees that we have a class with 0
allocatable registers and decides to add extra dependencies to prevent
increasing register pressure. But if we have no allocatable registers,
then we can't possibly have a register pressure problem. So ira should
be ignoring classes with no allocatable registers.
This patch was tested with an ia64-linux C and C++ bootstrap and make
check. I also verified by hand that is solves the original problem.
I also tested this with an x86-linux bootstrap (all default languages)
and make check. There were no regressions. I did this with an extra
ira_assert (ira_available_class_regs[cl] != 0);
The assert never triggered showing that this patch has no effect on
32-bit x86-linux code.