This is the mail archive of the gcc-patches@gcc.gnu.org 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: PR 23551: why should we coalesce inlined variables?


On Jul  9, 2007, Michael Matz <matz@suse.de> wrote:

> As some people said multiple times here, you can simply attach multiple 
> variables to one SSA name.

Attaching the variables is just not enough.  You have to attach the
assignment points as well.  And I haven't see you address that at all,
even though it is a necessary part of the infrastructure.

>> In my example, you'll find cases in which it both starts too early and 
>> ends too late WRT the variable that holds that value at some point.

> I've seen none in your examples.  Please provide one or refer to the mail 
> URL, but please, not that simple {foo=bar;bar++;foo--} example again.  I 
> handled that.

You didn't.  The range of bar_1 in your example, that would be
associated with both bar and foo, started before it became associated
wtih foo, and ended after bar had moved on.  You have addressed how to
obtain the more recent value of bar in this simple case, but with an
heuristics that AFAICT wouldn't work that simply across basic blocks.
And you haven't addressed at all how to get the correct location list
for foo in case foo_2 is optimized away.

-- 
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member         http://www.fsfla.org/
Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist  oliva@{lsd.ic.unicamp.br, gnu.org}


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