The terms “type hash”, “type identifier”, and “type id” are used
interchangeably.
The original RFC describes a use case, which is efficient stack trace
collection and reconstruction via offline reverse call graph
traversal. Besides call graph storing and reconstruction as described
in this RFC, additional LLVM features will be introduced for this use
case including 1) ASan features to collect and report compressed stack
traces, 2) a stand-alone tool to reconstruct stack traces based on the
compressed trace and the call graph. A separate RFC will be sent
shortly for these.
Please note that the contents of this RFC is truncated due to possible markdown formatting issues in migrating the RFC from the mailing list. Please find the links to the original mailing list entries.
The two RFC links above describe the design for emitting a call graph section to object files. The original implementation of this design is among these eight patches ⚙ D105916 [AsmPrinter][CallGraphSection] Emit call graph section. Six of these eight patches had been approved by the reviewers. However these patches were not landed at that time (July 2021). I am interested in addressing the outstanding issues in these patches and landing them. Towards this, I had rebased these patches on ToT LLVM. I am planning to commandeer the existing patches and upload the fixes required to address the compilation/test failures to Phabricator.
I am trying to get the result of the call graph by using “llvm-objdump --call-graph-info a.out”. However, it said there is not --call-graph-info instruction in llvm-objdump. Do you mind sharing the github link or anything that have the --call-graph-info command ?
Hi there! Apologies. I was out on vacation for the past couple of weeks.
The patches to emit callgraph are a WIP. I need to address the comments and upload them again to get them landed. You can see them in my outstanding PRs. I can point you to the specific ones later in the week once I go through my higher priority items ( Pull requests · llvm/llvm-project · GitHub ). I have the objdump patches to read the section ready to go but I’d like to land the emit patches before I send out the objdump patches for review. Thank you.