LLVM: include/llvm/Analysis/LastRunTrackingAnalysis.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
26
27
28
29
30#ifndef LLVM_ANALYSIS_LASTRUNTRACKINGANALYSIS_H
31#define LLVM_ANALYSIS_LASTRUNTRACKINGANALYSIS_H
32
36#include
37
38namespace llvm {
39
40
41
42
43
44
45
46
48public:
51
53
54
55
56
57
58
59
60 template
62 return shouldSkipImpl(ID, &Opt);
63 }
65
66
67
68
69
70
71
72
73 template
76 return static_cast<const OptionT *>(Ptr)->isCompatibleWith(Opt);
77 });
78 }
82
83private:
87
89};
90
91
106
107}
108
109#endif
This file defines the DenseMap class.
This header defines various interfaces for pass management in LLVM.
A function/module analysis which provides an empty LastRunTrackingInfo.
Definition LastRunTrackingAnalysis.h:93
LastRunTrackingInfo run(Module &M, ModuleAnalysisManager &)
Definition LastRunTrackingAnalysis.h:102
LastRunTrackingInfo Result
Definition LastRunTrackingAnalysis.h:98
LastRunTrackingInfo run(Function &F, FunctionAnalysisManager &)
Definition LastRunTrackingAnalysis.h:99
This class is used to track the last run of a set of module/function passes.
Definition LastRunTrackingAnalysis.h:47
std::function< bool(OptionPtr)> CompatibilityCheckFn
Definition LastRunTrackingAnalysis.h:52
const void * OptionPtr
Definition LastRunTrackingAnalysis.h:50
bool shouldSkip(PassID ID) const
Definition LastRunTrackingAnalysis.h:64
void update(PassID ID, bool Changed, const OptionT &Opt)
Update the tracking info.
Definition LastRunTrackingAnalysis.h:74
bool shouldSkip(PassID ID, const OptionT &Opt) const
Check if we should skip a pass.
Definition LastRunTrackingAnalysis.h:61
const void * PassID
Definition LastRunTrackingAnalysis.h:49
void update(PassID ID, bool Changed)
Definition LastRunTrackingAnalysis.h:79
A Module instance is used to store all the information related to an LLVM module.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
A CRTP mix-in that provides informational APIs needed for analysis passes.
A special type used by analysis passes to provide an address that identifies that particular analysis...