On Thu, Jul 21, 2011 at 11:09 AM, <davi...@google.com> wrote: > > http://codereview.appspot.com/4798045/diff/1/ipa.c > File ipa.c (right): > > http://codereview.appspot.com/4798045/diff/1/ipa.c#newcode1034 > ipa.c:1034: { > Has varpool node linking happened at this point? If not, the new code > here is not excersised.
This functions is called in multiple places: local pass and whole_program pass. varpool_node_link is b/w these two passes. the varpool node attribute is set before the use in ipa_discover_readonly_nonaddressable_vars() > > http://codereview.appspot.com/4798045/diff/1/ipa.c#newcode1041 > ipa.c:1041: vnode->externally_visible = false; > Better to add a simple loop after varpool_node_linking to merge the > attribute in l-ipo.c assuming the linking happens after local visibility > pass. We can merge in the varpool_node_link, but we still need to change here as the attribute will be overwritten here in the whole_program pass. > > http://codereview.appspot.com/4798045/ >