aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/PassRegistry.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/PassRegistry.h')
-rw-r--r--include/llvm/PassRegistry.h48
1 files changed, 19 insertions, 29 deletions
diff --git a/include/llvm/PassRegistry.h b/include/llvm/PassRegistry.h
index 1558c51..8c28ef5 100644
--- a/include/llvm/PassRegistry.h
+++ b/include/llvm/PassRegistry.h
@@ -42,61 +42,51 @@ class PassRegistry {
mutable sys::SmartRWMutex<true> Lock;
/// PassInfoMap - Keep track of the PassInfo object for each registered pass.
- typedef DenseMap<const void*, const PassInfo*> MapType;
+ typedef DenseMap<const void *, const PassInfo *> MapType;
MapType PassInfoMap;
-
- typedef StringMap<const PassInfo*> StringMapType;
+
+ typedef StringMap<const PassInfo *> StringMapType;
StringMapType PassInfoStringMap;
-
- /// AnalysisGroupInfo - Keep track of information for each analysis group.
- struct AnalysisGroupInfo {
- SmallPtrSet<const PassInfo *, 8> Implementations;
- };
- DenseMap<const PassInfo*, AnalysisGroupInfo> AnalysisGroupInfoMap;
-
+
std::vector<std::unique_ptr<const PassInfo>> ToFree;
- std::vector<PassRegistrationListener*> Listeners;
-
+ std::vector<PassRegistrationListener *> Listeners;
+
public:
- PassRegistry() { }
+ PassRegistry() {}
~PassRegistry();
-
- /// getPassRegistry - Access the global registry object, which is
+
+ /// getPassRegistry - Access the global registry object, which is
/// automatically initialized at application launch and destroyed by
/// llvm_shutdown.
static PassRegistry *getPassRegistry();
-
+
/// getPassInfo - Look up a pass' corresponding PassInfo, indexed by the pass'
/// type identifier (&MyPass::ID).
const PassInfo *getPassInfo(const void *TI) const;
-
+
/// getPassInfo - Look up a pass' corresponding PassInfo, indexed by the pass'
/// argument string.
const PassInfo *getPassInfo(StringRef Arg) const;
-
- /// registerPass - Register a pass (by means of its PassInfo) with the
+
+ /// registerPass - Register a pass (by means of its PassInfo) with the
/// registry. Required in order to use the pass with a PassManager.
void registerPass(const PassInfo &PI, bool ShouldFree = false);
-
- /// registerPass - Unregister a pass (by means of its PassInfo) with the
- /// registry.
- void unregisterPass(const PassInfo &PI);
-
+
/// registerAnalysisGroup - Register an analysis group (or a pass implementing
- // an analysis group) with the registry. Like registerPass, this is required
+ // an analysis group) with the registry. Like registerPass, this is required
// in order for a PassManager to be able to use this group/pass.
void registerAnalysisGroup(const void *InterfaceID, const void *PassID,
- PassInfo& Registeree, bool isDefault,
+ PassInfo &Registeree, bool isDefault,
bool ShouldFree = false);
-
+
/// enumerateWith - Enumerate the registered passes, calling the provided
/// PassRegistrationListener's passEnumerate() callback on each of them.
void enumerateWith(PassRegistrationListener *L);
-
+
/// addRegistrationListener - Register the given PassRegistrationListener
/// to receive passRegistered() callbacks whenever a new pass is registered.
void addRegistrationListener(PassRegistrationListener *L);
-
+
/// removeRegistrationListener - Unregister a PassRegistrationListener so that
/// it no longer receives passRegistered() callbacks.
void removeRegistrationListener(PassRegistrationListener *L);