[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-12-19 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Yeah, it'll be much better if we had that feature. https://github.com/llvm/llvm-project/pull/71622 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-12-19 Thread Ben Boeckel via cfe-commits
mathstuf wrote: > Sorry for that. But I think it may not be a big deal since people who still > want to take an eye this can made it by clicking two times simply. The timing is also unfortunate as some may have already gone on vacation and will miss updates until they return. Anyways, what's d

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-12-19 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > > Since there is no meaningful review opinions here, let's continue it in a > > new and clean PR: #75894 > > Note that this leaves behind all who have hit "Subscribe" on this PR to keep > tabs on things (I wish Github provided a way to mark-as-duplicate and merge > the sub

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-12-19 Thread Ben Boeckel via cfe-commits
mathstuf wrote: > Since there is no meaningful review opinions here, let's continue it in a new > and clean PR: https://github.com/llvm/llvm-project/pull/75894 Note that this leaves behind all who have hit "Subscribe" on this PR to keep tabs on things (I wish Github provided a way to mark-as-d

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-12-18 Thread Chuanqi Xu via cfe-commits
https://github.com/ChuanqiXu9 closed https://github.com/llvm/llvm-project/pull/71622 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-12-18 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Since there is no meaningful review opinions here, let's continue it in a new and clean PR: https://github.com/llvm/llvm-project/pull/75894 https://github.com/llvm/llvm-project/pull/71622 ___ cfe-commits mailing list cfe-commits@list

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-08 Thread David Blaikie via cfe-commits
dwblaikie wrote: The words probably don't need to be short. Interface BMI Implementation BMI Seem like fine, accurate terms. I guess we could say "BMInterface" and "BMImplementation" but probably best to jus tgloss over "I" being "interface" and have "interface BMI" and "implementation BMI"

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-08 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: Let's discuss the higher level problems in https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755 https://github.com/llvm/llvm-project/pull/71622 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-08 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: The term `sparse` makes me wondering its format is not efficiency.. And for the term `surface`, ..., it may beyond my knowledge, I feel it is odd but I can't give a concrete reason. https://github.com/llvm/llvm-project/pull/71622 _

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-08 Thread via cfe-commits
tschuett wrote: It could also be a `surface BMI` as it only describes the surface of the module, but it does not contain its content. https://github.com/llvm/llvm-project/pull/71622 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread Iain Sandoe via cfe-commits
iains wrote: perhaps in the context we can use "sparse" instead of "thin" - but I do not have a good short word replace 'fat'. https://github.com/llvm/llvm-project/pull/71622 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread Timm Baeder via cfe-commits
@@ -270,6 +274,35 @@ namespace clang { }; } +bool clang::MayDefAffectABI(const Decl *D) { + if (auto *FD = dyn_cast(D)) { tbaederr wrote: ```suggestion if (const auto *FD = dyn_cast(D)) { ``` https://github.com/llvm/llvm-project/pull/71622 _

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread Timm Baeder via cfe-commits
@@ -270,6 +274,35 @@ namespace clang { }; } +bool clang::MayDefAffectABI(const Decl *D) { + if (auto *FD = dyn_cast(D)) { +if (FD->isInlined() || FD->isConstexpr()) + return true; + +// Non-user-provided functions get emitted as weak definitions with every +

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread Chuanqi Xu via cfe-commits
ChuanqiXu9 wrote: > It was suggested to avoid "thin" and "fat" terminology (I started using it > with LTO as a precedent for the terms), but I suppose something more > descriptive could be selected. Any suggestions? My english is not good, you know. > I'll also note that my prior usage was in

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread Ben Boeckel via cfe-commits
mathstuf wrote: I'll also note that my prior usage was in reference to embedding transitive BMI references in the BMI, not about including function definitions. https://github.com/llvm/llvm-project/pull/71622 ___ cfe-commits mailing list cfe-commits@l

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread Ben Boeckel via cfe-commits
mathstuf wrote: It was suggested to avoid "thin" and "fat" terminology (I started using it with LTO as a precedent for the terms), but I suppose something more descriptive could be selected. https://github.com/llvm/llvm-project/pull/71622 ___ cfe-com

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff b85fdc4ffde48f2035e4621d4f9af69bf16f2136 839d38d96d2275dbc0a9aa9fae3427720a6d3344 --

[clang] [C++20] [Modules] Introduce thin BMI (PR #71622)

2023-11-07 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-modules Author: Chuanqi Xu (ChuanqiXu9) Changes Close https://github.com/llvm/llvm-project/issues/71034 This patch introduces thin BMI, which doesn't contain the definitions of functions and variables if its definitions won't contribute to the AB