aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/ModuleDependencyCollector.cpp
diff options
context:
space:
mode:
authorPaul Kirth <paulkirth@google.com>2022-12-09 04:35:23 +0000
committerPaul Kirth <paulkirth@google.com>2022-12-19 18:45:58 +0000
commitc42e50fede53bbcce79095e7c8115f26826c81ae (patch)
treef8c27945efd3eb9572049913a2c7f896a3518df8 /clang/lib/Frontend/ModuleDependencyCollector.cpp
parentb0020f423feb922c35802af96234c5d21b8d3f51 (diff)
downloadllvm-c42e50fede53bbcce79095e7c8115f26826c81ae.zip
llvm-c42e50fede53bbcce79095e7c8115f26826c81ae.tar.gz
llvm-c42e50fede53bbcce79095e7c8115f26826c81ae.tar.bz2
Reland "[pgo] Avoid introducing relocations by using private alias"
In many cases, we can use an alias to avoid a symbolic relocations, instead of using the public, interposable symbol. When the instrumented function is in a COMDAT, we can use a hidden alias, and still avoid references to discarded sections. New compiler-rt tests are Linux only for now. Previous versions of this patch allowed the compiler to name the generated alias, but that would only be valid when the functions were local. Since the alias may be used across TUs we use a more deterministic naming convention, and add a `.local` suffix to the alias name just as we do for relative vtables aliases. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D137982
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions