iains wrote:

* I do not want to block progress, so let's move forward with this patch for 
now.

* It seems to me (as we found with GMF decl elision) that the process is quite 
a bit more complex than simply omitting a decl.  We need to elide other decls 
that are then unused (e.g. decls local to an elided function body) and also 
avoid emitting types that are now no longer existent.

The process seems to me to be either one of:
 - rewriting the AST (which is why my patch set picked the use of the plugin 
API since that is the purpose there).
 - walking the AST and marking entities as used / not used / elided.
 
 It still feels to me to be better to have clear separation of this work from 
the work of streaming - but if we can make clear layers within the streaming, 
then maybe the maintenance will not be too hard.


https://github.com/llvm/llvm-project/pull/75894
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to