This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: Code size improvement for global alloc
- From: "Vladimir N. Makarov" <vmakarov at redhat dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Daniel Jacobowitz <drow at false dot org>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 24 Sep 2004 18:20:15 -0400
- Subject: Re: RFC: Code size improvement for global alloc
- References: <4152C92A.2060804@redhat.com> <200409231356.i8NDuEV28608@makai.watson.ibm.com>
David Edelsohn wrote:
Vladimir Makarov writes:
Also I am working on more broad allocator improvements. If it will be ok,
the patch will be obsolete. But I can tell this only in a few months.
Would you like to share with us what experiment you are trying?
My general direction is a better coordination of the old allocator and
reload to get a decision in choosing
assigning/coalescing/splitting/rematerialization. I am trying several
approaches. The last thing what I tried is PBQP (partitioned boolean
quadratic optimization problem). This is a specific form of the
quadratic assignment problem (QAP). It is good model to describe
coalescing and register assignment. I used a heuristic (and its some
modifications) from article "/Register allocation for irregular
architectures"./ Unfortunately I had practically the same result as gcc
original register allocator on SPECInt2000.
It is hard to describe other details because I am getting ideas
practically every week or two. I've got feeling (probably it is obvious
for somebody) that reload (in current state) is a main obstacle for good
register allocation.
I don't know a final result. If I get something worth, I'll create a
branch for this. It will need debuging and polishing for other
platforms because my major target platform is x86. Currently I have
nothing that is worth and there is a big probability that the project
will fail.
Vlad