On Tue, Mar 30, 2021 at 1:39 PM Erick Ochoa <eoc...@gcc.gnu.org> wrote: > > > If the global is module local we should initialize it with NULL, yes. If > > it is > > not module local it should be initialized with NONLOCAL (that's both what > > should currently happen correctly - it's needed for non-field-sensitive init > > as well). > > > > Awesome, thanks Richard! One more question: in the context of LTO, > "module local" means the current partition?
Yes. > I understand that IPA-PTA is a late SIMPLE_IPA_PASS but my > understanding of the consequences of this is a little fuzzy. I think > that IPA-PTA also runs in multiple partitions (unless a flag like > -flto-partition=none is used), but there might be some issue with > reduced precision. Perhaps this reduced precision comes from NONLOCAL > constraints with symbols that cross partitions? (This is just > speculation on my part, as I mention, my understanding is a little bit > fuzzy.) Yes. Also (obviously) from function definitions not visible and thus functions treated as external calls when they need not (because of LTO) Richard.