johannes added a comment. In https://reviews.llvm.org/D36664#841758, @teemperor wrote:
> Very well done, I really like this patch! I added a few remarks mostly about > the comments that need some small adjusting. > > I'm wondering what would be a nice way of creating a StmtDataCollector that > is faster but only works for single translation units (e.g. it only hashes > the pointer values of decls instead of their qualified name)? The use case > here would be Stmt::Profile and the CloneDetector which could be set to a > single-TU-mode in the CloneChecker. For Stmt::Profile it would ensure we > don't degrade performance from the current version, for the CloneChecker we > probably get a reasonable performance boost (as the hashing is currently the > last remaining bottle neck). > > @arphaman Any suggestions who could review/approve the additions to `AST/`? So we want at least two different modes - unstable / hash pointer members - stable / follow pointer members We can do this by using two macros with different names. So we can split `DEF_ADD_DATA` in something like `COLLECT_DATA_STABLE` and `COLLECT_DATA_UNSTABLE` Both would share the collection of POD members, so it makes sense to use a third macro for this. So the code in StmtDataCollectors.inc assumes that DataCollection.h has been included, and that there is a `addData()` function as well as an `ASTContext &Context` in the current scope. These things should be documented in DataCollection.h I guess. Since `StmtDataCollectors.inc` resides in `lib` I have to use relative paths (so the include directive looks different depending on the current file), we have to live with this, right? https://reviews.llvm.org/D36664 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits