From: Daniel Berlin <dan@cgsoftware.com>
To: law@redhat.com
Cc: gcc@gcc.gnu.org
Subject: Re: Higher level RTL issues
Date: Mon, 22 Oct 2001 11:49:00 -0000 [thread overview]
Message-ID: <FA13E17B-C6FB-11D5-A90B-0030657B5340@cgsoftware.com> (raw)
In-Reply-To: <19662.1003768456@localhost.localdomain>
On Monday, October 22, 2001, at 12:34 PM, law@redhat.com wrote:
> In message < 071E8F7C-C4E4-11D5-B9EF-0030657B5340@cgsoftware.com >you
> write:
>>>
>> <snip the rest, for various reasons, i'm not going to reply>
>>
>>> I'll have to show you an example where you do need renaming to perform
>>> relatively simple redundancy elimination problems that are found by
>>> any
>>> reasonable value numbering scheme.
>> Please, do.
> I'm going to try to get it to y'all today.
>
Okey dokey.
From the thread, bob morgan says: " However, other
transformations, such as eliminating copy operations, can cause two
variants of the same register to be live at the same time. In that
case the easy thing to do is to actually rename the registers as new
registers."
I'll take his word for it.
However, note that he says the "easy" thing.
He doesn't say it's impossible.
*If* two variants of the same register became live at the same time,
It's a matter of updating definitions in the case of FUD chains, while
you usually can get away with doing nothing in explicitly renamed ssa
form.
Of course, what *we* should do, if we only had to select one thing, (in
terms of renaming or fud chains) depends on which type of problem we
have more, forwards or backwards.
I'd rather *allow* us to do both.
If part of the point of the SSA path is to be fast and efficient, and
cut down the amount of rtl we have to deal with in later, slower,
passes, then what makes most sense is something like:
Convert to FUD chains
SSA-CCP (including simple dead-code removal)
Aggressive DCE
<other ssa optimizations that are faster or easier on fud chains>
Convert to explict renamed form
<Other SSA optimizations that are faster or easier with renaming>
This is because fud-chains are going to be faster to work with for
things that remove a lot of code quickly. For instance, while SSA-CCP on
explicit renamed form will require up to two evaluations per operand of
an operation, on fud-chains, you can guarantee to evaluate each thing
only once.
--Dan
next prev parent reply other threads:[~2001-10-22 11:49 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-09 19:46 law
2001-10-09 20:54 ` Diego Novillo
2001-10-09 21:27 ` Daniel Berlin
2001-10-09 21:49 ` Diego Novillo
2001-10-09 22:23 ` Daniel Berlin
2001-10-19 14:39 ` law
2001-10-19 12:19 ` law
2001-10-09 21:18 ` Daniel Berlin
2001-10-09 21:33 ` Diego Novillo
2001-10-19 14:37 ` law
2001-10-19 15:53 ` Daniel Berlin
2001-10-22 9:31 ` law
2001-10-22 11:49 ` Daniel Berlin [this message]
2001-10-13 2:27 ` Jan Hubicka
2001-10-19 12:03 ` law
2001-10-21 10:40 ` Jan Hubicka
2001-10-22 8:28 ` law
2001-10-22 8:36 ` Daniel Berlin
2001-10-22 8:56 ` law
2001-10-22 9:07 ` Jan Hubicka
2001-10-22 11:32 ` law
2001-10-22 15:07 ` Richard Henderson
2001-10-23 15:16 ` Joern Rennecke
2001-10-22 16:22 ` Joern Rennecke
2001-10-23 3:02 ` Jan Hubicka
2001-10-23 15:28 ` law
2001-10-24 7:59 ` Jan Hubicka
2001-10-22 11:30 law
2001-10-22 13:10 ` Daniel Berlin
2001-10-22 14:02 ` law
2001-10-22 14:25 ` Daniel Berlin
2001-10-22 14:28 ` Daniel Berlin
2001-10-22 14:48 ` law
2001-11-13 13:41 ` Diego Novillo
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=FA13E17B-C6FB-11D5-A90B-0030657B5340@cgsoftware.com \
--to=dan@cgsoftware.com \
--cc=gcc@gcc.gnu.org \
--cc=law@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).