================ @@ -190,6 +190,36 @@ class LLVM_ABI AsmPrinter : public MachineFunctionPass { /// Emit comments in assembly output if this is true. bool VerboseAsm; + /// Store symbols and type identifiers used to create call graph section + /// entries related to a function. + struct FunctionInfo { + /// Numeric type identifier used in call graph section for indirect calls + /// and targets. + using CGTypeId = uint64_t; + + /// Enumeration of function kinds, and their mapping to function kind values + /// stored in call graph section entries. + /// Must match the enum in llvm/tools/llvm-objdump/llvm-objdump.cpp. + enum class FunctionKind : uint64_t { + /// Function cannot be target to indirect calls. + NOT_INDIRECT_TARGET = 0, + + /// Function may be target to indirect calls but its type id is unknown. + INDIRECT_TARGET_UNKNOWN_TID = 1, + + /// Function may be target to indirect calls and its type id is known. + INDIRECT_TARGET_KNOWN_TID = 2, + }; + + /// Map type identifiers to callsite labels. Labels are only for indirect + /// calls and inclusive of all indirect calls of the function. ---------------- Prabhuk wrote:
Reworded the inline comments. PTAL. https://github.com/llvm/llvm-project/pull/87576 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits