aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorMingming Liu <mingmingl@google.com>2024-01-22 10:36:03 -0800
committerGitHub <noreply@github.com>2024-01-22 10:36:03 -0800
commit5ce286849a0cc605210031411265c2a84fc6c633 (patch)
treedf41858a0952947e2bc4deae123e6bc1c744a8e6 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parentf4c2ee12684a6b4857c9e6777ba53e02555978ba (diff)
downloadllvm-5ce286849a0cc605210031411265c2a84fc6c633.zip
llvm-5ce286849a0cc605210031411265c2a84fc6c633.tar.gz
llvm-5ce286849a0cc605210031411265c2a84fc6c633.tar.bz2
[CGProfile] Use callee's PGO name when caller->callee is an indirect call. (#78610)
- With PGO, indirect call edges are constructed using value profiles, and the profile address is mapped to a function's PGO name. The PGO name is computed using a functions linkage before LTO internalization or global promotion. - With ThinLTO, local functions [could be promoted](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp#L288) to have external linkage; and with [full](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/LTO/LTO.cpp#L1328) or [thin](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/LTO/LTO.cpp#L448) LTO, global functions could be internalized. Edge construction should use a function's PGO name before its linkage is updated.
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions