LLVM: include/llvm/Transforms/Utils/FunctionImportUtils.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_TRANSFORMS_UTILS_FUNCTIONIMPORTUTILS_H
15#define LLVM_TRANSFORMS_UTILS_FUNCTIONIMPORTUTILS_H
16
20
21namespace llvm {
23
24
25
27
29
30
32
33
34
36
37
38
39
40
41 bool HasExportedFunctions = false;
42
43
44
45
46
47
48
49
50
51
52
53
54 bool ClearDSOLocalOnDeclarations;
55
56
57
59
60
61
62
64
65
67
68#ifndef NDEBUG
69
70
71
72 bool isNonRenamableLocal(const GlobalValue &GV) const;
73#endif
74
75
76
77 bool isPerformingImport() const { return GlobalsToImport != nullptr; }
78 bool isModuleExporting() const { return HasExportedFunctions; }
79
80
81
82 bool doImportAsDefinition(const GlobalValue *SGV);
83
84
85
86 std::string getPromotedName(const GlobalValue *SGV);
87
88
89
90
91
92 void processGlobalsForThinLTO();
93 void processGlobalForThinLTO(GlobalValue &GV);
94
95
96
97
98
100
101
102
104
105public:
109 bool ClearDSOLocalOnDeclarations);
111};
112
113
114
117 bool ClearDSOLocalOnDeclarations,
119
120}
121
122#endif
ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and s...
This file implements a set that has insertion order iteration characteristics.
Implements a dense probed hash-table based set.
LLVM_ABI FunctionImportGlobalProcessing(Module &M, const ModuleSummaryIndex &Index, SetVector< GlobalValue * > *GlobalsToImport, bool ClearDSOLocalOnDeclarations)
LinkageTypes
An enumeration for the kinds of linkage for global values.
Class to hold module path string table and global value map, and encapsulate methods for operating on...
A Module instance is used to store all the information related to an LLVM module.
A vector that has set insertion semantics.
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI void renameModuleForThinLTO(Module &M, const ModuleSummaryIndex &Index, bool ClearDSOLocalOnDeclarations, SetVector< GlobalValue * > *GlobalsToImport=nullptr)
Perform in-place global value handling on the given Module for exported local functions renamed and p...
Struct that holds a reference to a particular GUID in a global value summary.