#include "llvm/Pass.h"
#include "Support/BitSetVector.h"
+#include "Support/hash_map"
class Module;
class Function;
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,
//
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;