================ @@ -830,6 +843,19 @@ class PCHGenerator : public SemaConsumer { bool hasEmittedPCH() const { return Buffer->IsComplete; } }; +class ReducedBMIGenerator : public PCHGenerator { +public: + ReducedBMIGenerator(const Preprocessor &PP, InMemoryModuleCache &ModuleCache, + StringRef OutputFile, std::shared_ptr<PCHBuffer> Buffer, + bool IncludeTimestamps); + + void HandleTranslationUnit(ASTContext &Ctx) override; +}; + +/// If the definition may impact the ABI. If yes, we're allowed to eliminate +/// the definition of D in reduced BMI. +bool MayDefAffectABI(const Decl *D); ---------------- ChuanqiXu9 wrote:
Nice catch up. I changed the name to `CanElideDeclDef` and the comments to: ``` /// If we can elide the definition of \param D in reduced BMI. /// /// Generally, we can elide the definition of a declaration if it won't affect the /// ABI. e.g., the non-inline function bodies. ``` Hope this to be clear. 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