[all-commits] [llvm/llvm-project] da00c6: [C++20] [Modules] Introduce reduced BMI (#75894)
Chuanqi Xu via All-commits
all-commits at lists.llvm.org
Thu Mar 7 18:13:12 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: da00c60dae0040185dc45039c4397f6e746548e9
https://github.com/llvm/llvm-project/commit/da00c60dae0040185dc45039c4397f6e746548e9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/CXX/basic/basic.link/p10-ex2.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4-friend-in-reachable-class.cpp
M clang/test/Modules/InheritDefaultArguments.cppm
M clang/test/Modules/Reachability-Private.cpp
M clang/test/Modules/Reachability-func-default-arg.cpp
M clang/test/Modules/Reachability-func-ret.cpp
M clang/test/Modules/Reachability-template-default-arg.cpp
M clang/test/Modules/Reachability-template-instantiation.cpp
M clang/test/Modules/Reachability-using-templates.cpp
M clang/test/Modules/Reachability-using.cpp
M clang/test/Modules/concept.cppm
M clang/test/Modules/concept_differ.cppm
M clang/test/Modules/ctor.arg.dep.cppm
M clang/test/Modules/cxx20-10-1-ex1.cpp
M clang/test/Modules/cxx20-10-1-ex2.cpp
M clang/test/Modules/cxx20-10-2-ex2.cpp
M clang/test/Modules/cxx20-10-2-ex5.cpp
M clang/test/Modules/cxx20-10-3-ex1.cpp
M clang/test/Modules/cxx20-10-3-ex2.cpp
M clang/test/Modules/cxx20-10-5-ex1.cpp
M clang/test/Modules/cxx20-import-diagnostics-a.cpp
M clang/test/Modules/cxx20-import-diagnostics-b.cpp
M clang/test/Modules/cxx20-module-file-info-macros.cpp
M clang/test/Modules/deduction-guide.cppm
M clang/test/Modules/deduction-guide2.cppm
M clang/test/Modules/deduction-guide3.cppm
M clang/test/Modules/derived_class.cpp
M clang/test/Modules/duplicated-module-file-eq-module-name.cppm
M clang/test/Modules/enum-class.cppm
M clang/test/Modules/explicitly-specialized-template.cpp
M clang/test/Modules/export-language-linkage.cppm
M clang/test/Modules/ftime-trace.cppm
M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
M clang/test/Modules/inconsistent-export.cppm
M clang/test/Modules/inherited_arg.cppm
M clang/test/Modules/instantiation-argdep-lookup.cppm
M clang/test/Modules/lambdas.cppm
M clang/test/Modules/merge-concepts-cxx-modules.cpp
M clang/test/Modules/merge-constrained-friends.cpp
M clang/test/Modules/merge-lambdas.cppm
M clang/test/Modules/merge-requires-with-lambdas.cppm
M clang/test/Modules/merge-var-template-spec-cxx-modules.cppm
M clang/test/Modules/mismatch-diagnostics.cpp
M clang/test/Modules/module-init-duplicated-import.cppm
M clang/test/Modules/named-modules-adl-2.cppm
M clang/test/Modules/named-modules-adl-3.cppm
M clang/test/Modules/named-modules-adl.cppm
M clang/test/Modules/no-duplicate-codegen-in-GMF.cppm
M clang/test/Modules/pair-unambiguous-ctor.cppm
M clang/test/Modules/partial_specialization.cppm
M clang/test/Modules/placement-new-reachable.cpp
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr54457.cppm
M clang/test/Modules/pr56916.cppm
M clang/test/Modules/pr58532.cppm
M clang/test/Modules/pr58716.cppm
M clang/test/Modules/pr59719.cppm
M clang/test/Modules/pr59780.cppm
M clang/test/Modules/pr59999.cppm
M clang/test/Modules/pr60036.cppm
M clang/test/Modules/pr60085.cppm
M clang/test/Modules/pr60275.cppm
M clang/test/Modules/pr60486.cppm
M clang/test/Modules/pr60693.cppm
M clang/test/Modules/pr60775.cppm
M clang/test/Modules/pr60890.cppm
M clang/test/Modules/pr61065.cppm
M clang/test/Modules/pr61065_2.cppm
M clang/test/Modules/pr61067.cppm
M clang/test/Modules/pr61317.cppm
M clang/test/Modules/pr61783.cppm
M clang/test/Modules/pr61892.cppm
M clang/test/Modules/pr62158.cppm
M clang/test/Modules/pr62359.cppm
M clang/test/Modules/pr62589.cppm
M clang/test/Modules/pr62705.cppm
M clang/test/Modules/pr62796.cppm
M clang/test/Modules/pr62943.cppm
M clang/test/Modules/pr63544.cppm
M clang/test/Modules/pr63595.cppm
M clang/test/Modules/pr67627.cppm
M clang/test/Modules/pr67893.cppm
M clang/test/Modules/predefined.cpp
M clang/test/Modules/preferred_name.cppm
M clang/test/Modules/redefinition-merges.cppm
M clang/test/Modules/redundant-template-default-arg.cpp
M clang/test/Modules/redundant-template-default-arg2.cpp
M clang/test/Modules/redundant-template-default-arg3.cpp
M clang/test/Modules/search-partitions.cpp
M clang/test/Modules/seperated-member-function-definition-for-template-class.cppm
M clang/test/Modules/template-function-specialization.cpp
M clang/test/Modules/template-lambdas.cppm
M clang/test/Modules/template-pack.cppm
M clang/test/Modules/template_default_argument.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
Log Message:
-----------
[C++20] [Modules] Introduce reduced BMI (#75894)
Close https://github.com/llvm/llvm-project/issues/71034
See
https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755
This patch introduces reduced BMI, which doesn't contain the definitions
of functions and variables if its definitions won't contribute to the
ABI.
Testing is a big part of the patch. We want to make sure the reduced BMI
contains the same behavior with the existing and relatively stable
fatBMI. This is pretty helpful for further reduction.
The user interfaces part it left to following patches to ease the
reviewing.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list