aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectThread.cpp
diff options
context:
space:
mode:
authorMircea Trofin <mtrofin@google.com>2023-12-14 15:10:48 -0800
committerGitHub <noreply@github.com>2023-12-14 15:10:48 -0800
commited10fba1b274b81e1f119eab7a074a273df9ec32 (patch)
tree29e277d0640cc53adbd92fe458d21f995ddd3998 /lldb/source/Commands/CommandObjectThread.cpp
parent57f42a8765cd3d878be4fb59ad44c85f8a7ca223 (diff)
downloadllvm-ed10fba1b274b81e1f119eab7a074a273df9ec32.zip
llvm-ed10fba1b274b81e1f119eab7a074a273df9ec32.tar.gz
llvm-ed10fba1b274b81e1f119eab7a074a273df9ec32.tar.bz2
[ThinLTO] Allow importing based on a workload definition (#74545)
An example of a "workload definition" would be "the transitive closure of functions actually called to satisfy a RPC request", i.e. a (typically significantly) smaller subset of the transitive closure (static + possible indirect call targets) of callees. This means this workload definition is a type of flat dynamic profile. Producing one is not in scope - it can be produced offline from traces, or from sample-based profiles, etc. This patch adds awareness to ThinLTO of such a concept. A workload is defined as a root and a list of functions. All function references are by-name (more readable than GUIDs). In the case of aliases, the expectation is the list contains all the alternative names. The workload definitions are presented to the linker as a json file, containing a dictionary. The keys are the roots, the values are the list of functions. The import list for a module defining a root will be the functions listed for it in the profile. Using names this way assumes unique names for internal functions, i.e. clang's `-funique-internal-linkage-names`. Note that the behavior affects the entire module where a root is defined (i.e. different workloads best be defined in different modules), and does not affect modules that don't define roots.
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
0 files changed, 0 insertions, 0 deletions