Expand the pass to unify all of the unwind blocks as well
[oota-llvm.git] / include / llvm / Analysis / IPModRef.h
index 78da986268c7c0e21168a4b6592a63ed91f2e1ad..eed264f9785b3cf17b78d6e6b99ab0faf458bd74 100644 (file)
@@ -41,6 +41,7 @@
 
 #include "llvm/Pass.h"
 #include "Support/BitSetVector.h"
+#include "Support/hash_map"
 
 class Module;
 class Function;
@@ -125,7 +126,7 @@ class FunctionModRefInfo {
   void          computeModRef   (const Function &func);
   void          computeModRef   (const CallInst& callInst);
   DSGraph *ResolveCallSiteModRefInfo(CallInst &CI,
-                                std::map<const DSNode*, DSNodeHandle> &NodeMap);
+                                hash_map<const DSNode*, DSNodeHandle> &NodeMap);
 
 public:
   /* ctor */    FunctionModRefInfo      (const Function& func,
@@ -153,8 +154,8 @@ public:
   //
   unsigned              getNodeId       (const DSNode* node) const {
     std::map<const DSNode*, unsigned>::const_iterator iter = NodeIds.find(node);
-    assert(iter == NodeIds.end() || iter->second < funcModRefInfo.getSize());
-    return (iter == NodeIds.end())? funcModRefInfo.getSize() : iter->second;
+    assert(iter != NodeIds.end() && iter->second < funcModRefInfo.getSize());
+    return iter->second;
   }
 
   unsigned              getNodeId       (const Value* value) const;