浏览代码

[PM] Remove an unused and rather expensive mapping from an analysis
group's interface to all of the implementations of that analysis group.
The groups themselves can and do manage this anyways, the pass registry
needn't involve itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219097 91177308-0d34-0410-b5e6-96231b3b80d8

Chandler Carruth 11 年之前
父节点
当前提交
ef68758aa8
共有 2 个文件被更改,包括 0 次插入10 次删除
  1. 0 6
      include/llvm/PassRegistry.h
  2. 0 4
      lib/IR/PassRegistry.cpp

+ 0 - 6
include/llvm/PassRegistry.h

@@ -48,12 +48,6 @@ class PassRegistry {
   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;
 

+ 0 - 4
lib/IR/PassRegistry.cpp

@@ -101,10 +101,6 @@ void PassRegistry::registerAnalysisGroup(const void *InterfaceID,
     // the interface.
     ImplementationInfo->addInterfaceImplemented(InterfaceInfo);
 
-    AnalysisGroupInfo &AGI = AnalysisGroupInfoMap[InterfaceInfo];
-    assert(AGI.Implementations.count(ImplementationInfo) == 0 &&
-           "Cannot add a pass to the same analysis group more than once!");
-    AGI.Implementations.insert(ImplementationInfo);
     if (isDefault) {
       assert(InterfaceInfo->getNormalCtor() == nullptr &&
              "Default implementation for analysis group already specified!");