[PR42782] preserve nonaddressable MEMs at calls in VTA

Alexandre Oliva aoliva@redhat.com
Tue Jan 19 15:09:00 GMT 2010


When processing call insns, VTA drops all MEMs from location lists, save
for those that claim to *be* the variable, in their MEM_EXPRs.

This is a bit excessive.  MEMs referencing variables that are not
call-clobbered could also be retained.  This patch implements this.

I had to include tree-flow.h for the static inline definition of
is_call_clobbered() that it brings in from tree-flow-inline.h, and then
dump_variable in var-tracking conflicted with the declaration in the
header file, that refers to an incompatible definition in another file.
So I renamed the conflicting definition.

Regstrapping on x86_64-linux-gnu.  Ok if it succeeds?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: vta-vartrack-preserve-unaddressable-mems-pr42782.patch
Type: text/x-diff
Size: 7019 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100119/6789fed2/attachment.bin>
-------------- next part --------------

-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer


More information about the Gcc-patches mailing list