This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Lno branch merge part 3 -- ssa form updating improvements

Zdenek Dvorak wrote:


Yes; the method is not really much different from what
rewrite_ssa_into_ssa does. The exceptions are that
rewrite_ssa_into_ssa searches for new definitions by scanning all the
statements (making it possibly a bit slower), and that it works for
multiple definitions at a time (making it possibly a bit faster, and
much easier to use then direct incremental algorithm).

Then let's keep them separate. They are conceptually different and we need the abstraction of being able to insert new SSA definitions. So far, I see no compelling reasons why we should make rewrite_into_ssa any more complicated than it already is.

The patch is very intrusive in that respect and it will be difficult to
maintain.  We will now have two SSA renaming algorithms, each slightly
different yet similar.

Am I missing anything?  You are resisting the idea of having a separate
name insertion utility, but I don't really understand why.

I agree with Diego and Jason; this patch should be modified to make the incremental changes as the loop headers are copied.

why?????? Could someone please tell me one single reason why that is a
better solution? It is slower. It is harder to use:

I think that for the long term maintainability of the code and for some of the other projects that people have in mind maintaining the invariant that the code is always in SSA form is important.

And finally: we cannot do this at all for now, since it requires you to
have lists of immediate uses available at all times (which I was
forbidden to implement by Diego a few months ago).  I will be happy to
implement this functionality later, since in some contexts it may be
useful; but it needs at least a week of time to code and the changes for it
would be quite intrusive.

I don't know all the history here, and clearly I don't yet know as much about the tree-ssa implementation as you or Diego. So, I'm just expressing an opinion.

I'm sure Diego will take your statements into account and come to a conclusion.

Mark Mitchell
CodeSourcery, LLC

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]