LLVM: include/llvm/CodeGen/GlobalMergeFunctions.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25#ifndef LLVM_CODEGEN_GLOBALMERGEFUNCTIONS_H
26#define LLVM_CODEGEN_GLOBALMERGEFUNCTIONS_H
27
32
38
39namespace llvm {
40
41
42
44
46
47
48
49
52
53 std::unique_ptr LocalFunctionMap;
54
56
57public:
58
59
60
62
64
66
68
69
71
72
74
75
77};
78
79
87
88}
89#endif
HashFunctionMode
Definition GlobalMergeFunctions.h:33
@ Local
Definition GlobalMergeFunctions.h:34
@ BuildingHashFuncion
Definition GlobalMergeFunctions.h:35
@ UsingHashFunction
Definition GlobalMergeFunctions.h:36
Module.h This file contains the declarations for the Module class.
This header defines various interfaces for pass management in LLVM.
A container for analyses that lazily runs them and caches their results.
void analyze(Module &M)
Analyze module to create stable function into LocalFunctionMap.
void initializeMergerMode(const Module &M)
bool merge(Module &M, const StableFunctionMap *FunctionMap)
Merge functions in the module using the given function map.
GlobalMergeFunc(const ModuleSummaryIndex *Index)
Definition GlobalMergeFunctions.h:63
void emitFunctionMap(Module &M)
Emit LocalFunctionMap into __llvm_merge section.
static constexpr char MergingInstanceSuffix[]
The suffix used to identify the merged function that parameterizes the constant values.
Definition GlobalMergeFunctions.h:61
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 set of analyses that are preserved following a run of a transformation pass.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
This is an optimization pass for GlobalISel generic memory operations.
SmallVector< IndexPair, 4 > ParamLocs
Definition GlobalMergeFunctions.h:43
SmallVector< ParamLocs, 8 > ParamLocsVecTy
Definition GlobalMergeFunctions.h:45
GlobalMergeFuncPass(const ModuleSummaryIndex *ImportSummary)
Definition GlobalMergeFunctions.h:83
PreservedAnalyses run(Module &M, AnalysisManager< Module > &)
const ModuleSummaryIndex * ImportSummary
Definition GlobalMergeFunctions.h:81
GlobalMergeFuncPass()=default
A CRTP mix-in to automatically provide informational APIs needed for passes.