-// findAnalysisGroupMember - Return an iterator pointing to one of the elements
-// of Map if there is a pass in Map that is a member of the analysis group for
-// the specified AnalysisGroupID.
-//
-static std::map<const PassInfo*, Pass*>::const_iterator
-findAnalysisGroupMember(const PassInfo *AnalysisGroupID,
- const std::map<const PassInfo*, Pass*> &Map) {
- assert(AnalysisGroupID->getPassType() == PassInfo::AnalysisGroup &&
- "AnalysisGroupID is not an analysis group!");
- assert(AnalysisGroupInfoMap && AnalysisGroupInfoMap->count(AnalysisGroupID) &&
- "Analysis Group does not have any registered members!");
-
- // Get the set of all known implementations of this analysis group...
- std::set<const PassInfo *> &Impls =
- (*AnalysisGroupInfoMap)[AnalysisGroupID].Implementations;
-
- // Scan over available passes, checking to see if any is a valid analysis
- for (std::map<const PassInfo*, Pass*>::const_iterator I = Map.begin(),
- E = Map.end(); I != E; ++I)
- if (Impls.count(I->first)) // This is a valid analysis, return it.
- return I;
-
- return Map.end(); // Nothing of use found.
-}
-
-
-
-