[CSSPGO] Do not import pseudo probe desc in thinLTO
authorHongtao Yu <hoy@fb.com>
Wed, 30 Jun 2021 23:52:37 +0000 (16:52 -0700)
committerHongtao Yu <hoy@fb.com>
Wed, 14 Jul 2021 01:26:36 +0000 (18:26 -0700)
commit74b99b5c2eacbdef15b99b3e0a8073598f985bb4
tree5531c41a5d21ef685f43c43d76e4136c5a33a3b1
parent071203845887a2ff0347747bd5864f8738d17eef
[CSSPGO] Do not import pseudo probe desc in thinLTO

Previously we reliedy on pseudo probe descriptors to look up precomputed GUID during probe emission for inlined probes. Since we are moving to always using unique linkage names, GUID for functions can be computed in place from dwarf names. This eliminates the need of importing pseudo probe descs in thinlto, since those descs should be emitted by the original modules.

This significantly reduces thinlto memory footprint in some extreme case where the number of imported modules for a single module is massive.

Test Plan:

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D105248
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
llvm/lib/Linker/IRMover.cpp
llvm/test/ThinLTO/X86/Inputs/pseudo-probe-desc-import.ll [new file with mode: 0644]
llvm/test/ThinLTO/X86/pseudo-probe-desc-import.ll [new file with mode: 0644]