From: Daniel Berlin <dberlin@dberlin.org>
To: Vladimir Makarov <vmakarov@redhat.com>
Cc: gcc@gcc.gnu.org, tm_gccmail@kloo.net, Steven Bosscher <stevenb@suse.de>
Subject: Re: Interesting paper from Perdue
Date: Tue, 21 Sep 2004 18:39:00 -0000 [thread overview]
Message-ID: <039DC04D-0BF8-11D9-9263-000D93B1B044@dberlin.org> (raw)
In-Reply-To: <41505056.5060900@redhat.com>
On Sep 21, 2004, at 12:01 PM, Vladimir Makarov wrote:
> tm_gccmail@kloo.net wrote:
>
>> On Mon, 20 Sep 2004, Steven Bosscher wrote:
>>
>>
>>> I don't know if anyone has ever seen/read/mentioned this paper
>>> before, I might have missed it. Otherwise, interesting reading:
>>> https://engineering.purdue.edu/ECE/Research/TR/2004pdfs/TR-ECE-04
>>> -01.pdf
>>>
>>> Gr.
>>> Steven
>>>
>>
>> I'll digress and rant a bit; apologizes in advance.
>>
>> This is just the tip of the iceberg, really. There are many other
>> instances where various optimizations are improved in isolation and
>> degrade performance because they don't consider the effects on the
>> other
>> optimization passes.
>>
>>
> I think the approach mentioned in article has a merit for any
> compiler. Any optimized compiler is bunch of pass because of
> complexity task. Many passes are trying to solve subproblem not taking
> other passes into account. It creates unpredictable compiler
> behaviour for given program when an optimization is on or off.
>
>> ...and the register allocator doesn't handle the increased register
>> pressure well, so the net result is very little improvement.
>>
>> We really spend some time improving the foundation of GCC instead of
>> piling more and more optimizations on top of it.
>>
>>
> I agree with this. Gcc probably is a compiler with very upredictabe
> behaviour because inadequate register allocator/scheduler. But
> writing a good register allocator is not easy task in gcc because of
> very rich register file model and a lot of machine-dependent macros
> used by gcc ports.
We have a register file model so rich that no single architecture is
described well enough to get good results.
There is something ironic about this.
:)
> The colour-based register allocator project is an example of this. I
> know about this because I worked on register allocator improvements
> and I am still working on it. I think the key component is reload
> pass. Tasks solved by reload should be combined with the register
> allocator. We should rid off reload. But it is an eneormous task.
Yes, which is one of a myriad of reasons new-ra never succeeded.
The goals were too ambitious
Getting rid of reload is a project all itself.
>
> Vlad
>
>
next prev parent reply other threads:[~2004-09-21 17:59 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-20 13:31 Steven Bosscher
2004-09-21 7:21 ` tm_gccmail
2004-09-21 17:59 ` Vladimir Makarov
2004-09-21 18:39 ` Daniel Berlin [this message]
2004-09-21 16:01 ` Vladimir Makarov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=039DC04D-0BF8-11D9-9263-000D93B1B044@dberlin.org \
--to=dberlin@dberlin.org \
--cc=gcc@gcc.gnu.org \
--cc=stevenb@suse.de \
--cc=tm_gccmail@kloo.net \
--cc=vmakarov@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).