[llvm] [ThinLTO] Use a set rather than a map to track exported ValueInfos. (PR #97360)
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 2 08:55:15 PDT 2024
https://github.com/teresajohnson commented:
In your description the link you have for "For instance, [this](https://github.com/llvm/llvm-project/blob/66cd8ec4c08252ebc73c82e4883a8da247ed146b/llvm/lib/LTO/LTO.cpp#L1806-L1813) is how callees of direct calls get exported."
is not really correct - that links to CFI handling that needs to do some additional marking of exported GUIDs due to its jump tables. By definition, anything that before importing had a direct cross-module call would have had to have had external linkage, and that is handled here: https://github.com/llvm/llvm-project/blob/66cd8ec4c08252ebc73c82e4883a8da247ed146b/llvm/lib/LTO/LTO.cpp#L1783-L1794
Also, I think it would also be clearer to make this point "In both in-process and distributed ThinLTO, it's used to decide if a function or global variable is visible from another module after importing creates additional cross-module references". (note the addition at the end of sentence).
https://github.com/llvm/llvm-project/pull/97360
More information about the llvm-commits
mailing list