12#ifndef LLVM_ANALYSIS_UTILS_IMPORTEDFUNCTIONSINLININGSTATISTICS_H
13#define LLVM_ANALYSIS_UTILS_IMPORTEDFUNCTIONSINLININGSTATISTICS_H
48 struct InlineGraphNode {
50 InlineGraphNode() =
default;
51 InlineGraphNode(InlineGraphNode &&) =
default;
52 InlineGraphNode &operator=(InlineGraphNode &&) =
default;
56 int32_t NumberOfInlines = 0;
59 int32_t NumberOfRealInlines = 0;
60 bool Imported =
false;
80 InlineGraphNode &createInlineGraphNode(
const Function &);
81 void calculateRealInlines();
82 void dfs(InlineGraphNode &GraphNode);
87 std::vector<const NodesMapTy::MapEntryTy*>;
90 SortedNodesTy getSortedNodes();
99 std::vector<StringRef> NonImportedCallers;
100 int AllFunctions = 0;
101 int ImportedFunctions = 0;
This file defines the StringMap class.
Machine Check Debug Module
This file defines the SmallVector class.
Calculate and dump ThinLTO specific inliner stats.
LLVM_ABI void setModuleInfo(const Module &M)
Set information like AllFunctions, ImportedFunctions, ModuleName.
ImportedFunctionsInliningStatistics()=default
LLVM_ABI void dump(bool Verbose)
Dump stats computed with InlinerStatistics class.
ImportedFunctionsInliningStatistics(const ImportedFunctionsInliningStatistics &)=delete
LLVM_ABI void recordInline(const Function &Caller, const Function &Callee)
Record inline of.
A Module instance is used to store all the information related to an LLVM module.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.
InlinerFunctionImportStatsOpts