vitalybuka added inline comments.
================ Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:1355-1356 // at all, we assume it has dynamic initializer (in other TU). - // - // FIXME: Metadata should be attched directly to the global directly instead - // of being added to llvm.asan.globals. - return G->hasInitializer() && !GlobalsMD.get(G).IsDynInit; + if (G->hasSanitizerMetadata() && G->getSanitizerMetadata().IsDynInit) + return false; + ---------------- hctim wrote: > vitalybuka wrote: > > vitalybuka wrote: > > > hctim wrote: > > > > vitalybuka wrote: > > > > > I believe previous was like this. > > > > > if you want to change that lets do another patch. > > > > refactored it slightly, it's clear to me now (and IMHO much clearer to > > > > reason about, i suck at flipping multiple conditions in my head) that > > > > it's the same code > > > Before: G->hasInitializer() && !GlobalsMD.get(G).IsDynInit; > > > Now: G->hasInitializer() && !(G->hasSanitizerMetadata() && > > > G->getSanitizerMetadata().IsDynInit) > > > > > > Which is fine, because previously NoMD == !IsDynInit > > > > > > So logic-wise this version is LGTM > > > equivalent one-liner is even cleaner: > > > return G->hasInitializer() && !(G->hasSanitizerMetadata() && > > > G->getSanitizerMetadata().IsDynInit) > > > Before: G->hasInitializer() && !GlobalsMD.get(G).IsDynInit; > > "Before" is "Before the patch" > > > I personally find the multi-liner much easier to read than the one-liner, > okay to leave? up to you Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127911/new/ https://reviews.llvm.org/D127911 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits