[clang] [C++20] [Modules] Introduce reduced BMI (PR #75894)

Iain Sandoe via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 5 01:01:32 PST 2024


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


More information about the cfe-commits mailing list