12#ifndef LLVM_ANALYSIS_UTILS_IMPORTEDFUNCTIONSINLININGSTATISTICS_H
13#define LLVM_ANALYSIS_UTILS_IMPORTEDFUNCTIONSINLININGSTATISTICS_H
47 struct InlineGraphNode {
49 InlineGraphNode() =
default;
50 InlineGraphNode(InlineGraphNode &&) =
default;
51 InlineGraphNode &operator=(InlineGraphNode &&) =
default;
55 int32_t NumberOfInlines = 0;
58 int32_t NumberOfRealInlines = 0;
59 bool Imported =
false;
79 InlineGraphNode &createInlineGraphNode(
const Function &);
80 void calculateRealInlines();
81 void dfs(InlineGraphNode &GraphNode);
86 std::vector<const NodesMapTy::MapEntryTy*>;
89 SortedNodesTy getSortedNodes();
98 std::vector<StringRef> NonImportedCallers;
100 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.
void setModuleInfo(const Module &M)
Set information like AllFunctions, ImportedFunctions, ModuleName.
ImportedFunctionsInliningStatistics()=default
void dump(bool Verbose)
Dump stats computed with InlinerStatistics class.
ImportedFunctionsInliningStatistics(const ImportedFunctionsInliningStatistics &)=delete
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