alexfh added a comment.

In D58612#1409216 <https://reviews.llvm.org/D58612#1409216>, @riccibruno wrote:

> In D58612#1409215 <https://reviews.llvm.org/D58612#1409215>, @alexfh wrote:
>
> > > In D58612#1409024 <https://reviews.llvm.org/D58612#1409024>, @riccibruno 
> > > wrote:
> > > 
> > >> ...
> > >>  For example in `DeclBase.cpp`
> > >>
> > >>   #define DECL(DERIVED, BASE) static int n##DERIVED##s = 0;
> > >>   #define ABSTRACT_DECL(DECL)
> > >>   #include "clang/AST/DeclNodes.inc"
> > >>
> > >>
> > >> ...
> > > 
> > > 
> > > These are probably easier to convert to std::atomic<int>, but I'd do this 
> > > separately.
> >
> > Just converting these to `std::atomic<>` will mute TSan, but won't fix the 
> > underlying issue: the stats should be collected per-compiler instance. 
> > Initialization will require a bit more locking as well. Not sure what would 
> > be a good solution here.
>
>
> I agree that making them atomic is not a good solution. I am not sure that 
> the stats should be stored in the compiler instance (is that what you are 
> suggesting ?). The number of declaration nodes of each kind seems to be 
> something that should be stored in the AST context.


Well, I wasn't talking about storing the metrics in the `CompilerInstance` 
class directly. Maybe in `ASTContext`. But after looking a bit closer I see 
that the problem is that an instance of `ASTContext` is not readily available 
where these stats are gathered. I'm not sure I'll get to change this any time 
soon though.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58612/new/

https://reviews.llvm.org/D58612



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to