diff options
author | Mingming Liu <mingmingl@google.com> | 2024-05-19 22:22:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-19 22:22:47 -0700 |
commit | 8de7890572296830b27b6e6db39b36810bc98c31 (patch) | |
tree | 3bb7bbdf1d509aafffebded7366b1e3305b36b49 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | f6527774569790b5a5236f6e84f3f839ce6c2fff (diff) | |
download | llvm-8de7890572296830b27b6e6db39b36810bc98c31.zip llvm-8de7890572296830b27b6e6db39b36810bc98c31.tar.gz llvm-8de7890572296830b27b6e6db39b36810bc98c31.tar.bz2 |
[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)
The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.
* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.
* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.
[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions