[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-16 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGa70b39abffb4: [clang] Don't emit type test/assume for virtual classes that should never… (authored by aeubanks). Repository: rG LLVM Github Monore

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 437420. aeubanks added a comment. update docs to only mention `[[clang::lto_visibility_public]]` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127876/new/ https://reviews.llvm.org/D127876 Files: clang/docs/

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Peter Collingbourne via Phabricator via cfe-commits
pcc accepted this revision. pcc added a comment. This revision is now accepted and ready to land. Okay, it seems reasonable enough to have the `[[clang::lto_visibility_public]]` attribute override the `--lto-whole-program-visibility` flag. What I'm not sure about though is whether `__declspec(uu

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Teresa Johnson via Phabricator via cfe-commits
tejohnson added a comment. I prefer the way proposed here, which was what I initially intended to do in fact. @pcc, I recall from our early internal conversations about my proposal that you felt the new mechanism should apply to all classes, so that's why the final design did that. I do tend to

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. > We documented the feature in D75655 and > there it says "all classes" (and still does). I've updated the documentation. It was already slightly inaccurate in that we weren't emitting type test/assumes for `std`/`stdext` namespace cla

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 437258. aeubanks added a comment. update docs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127876/new/ https://reviews.llvm.org/D127876 Files: clang/docs/LTOVisibility.rst clang/lib/CodeGen/CGClass.cpp

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Peter Collingbourne via Phabricator via cfe-commits
pcc added a comment. In D127876#3586154 , @aeubanks wrote: > In D127876#3586134 , @pcc wrote: > >> This diverges from the documented behavior of >> `-lto-whole-program-visibility`. The flag is meant to give all c

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D127876#3586134 , @pcc wrote: > This diverges from the documented behavior of > `-lto-whole-program-visibility`. The flag is meant to give all classes hidden > LTO visibility, but now it only does that to some of them. perh

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Peter Collingbourne via Phabricator via cfe-commits
pcc requested changes to this revision. pcc added a comment. This revision now requires changes to proceed. This diverges from the documented behavior of `-lto-whole-program-visibility`. The flag is meant to give all classes hidden LTO visibility, but now it only does that to some of them. Rep

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I realize that this is not a full fix for the general problem involving `-lto-whole-program-visibility`, but I believe if you ignore `-lto-whole-program-visibility` (which Chrome doesn't use) then this fix makes sense. Repository: rG LLVM Github Monorepo CHANGES S

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 437224. aeubanks added a comment. update some comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127876/new/ https://reviews.llvm.org/D127876 Files: clang/lib/CodeGen/CGClass.cpp clang/lib/CodeGen/CGV

[PATCH] D127876: [clang] Don't emit type test/assume for virtual classes that should never participate in WPD

2022-06-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: pcc, tejohnson. Herald added subscribers: ormris, steven_wu, hiraditya. Herald added a project: All. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Gi