[llvm-commits] CVS: llvm/include/llvm/Analysis/DataStructure/DSSupport.h
Chris Lattner
lattner at cs.uiuc.edu
Tue Mar 15 09:52:35 PST 2005
Changes in directory llvm/include/llvm/Analysis/DataStructure:
DSSupport.h updated: 1.36 -> 1.37
---
Log message:
add support for hashing nodehandles.
---
Diffs of the changes: (+9 -0)
DSSupport.h | 9 +++++++++
1 files changed, 9 insertions(+)
Index: llvm/include/llvm/Analysis/DataStructure/DSSupport.h
diff -u llvm/include/llvm/Analysis/DataStructure/DSSupport.h:1.36 llvm/include/llvm/Analysis/DataStructure/DSSupport.h:1.37
--- llvm/include/llvm/Analysis/DataStructure/DSSupport.h:1.36 Sun Jan 30 17:50:48 2005
+++ llvm/include/llvm/Analysis/DataStructure/DSSupport.h Tue Mar 15 11:51:51 2005
@@ -146,6 +146,15 @@
inline void swap<llvm::DSNodeHandle>(llvm::DSNodeHandle &NH1, llvm::DSNodeHandle &NH2) { NH1.swap(NH2); }
}
+namespace HASH_NAMESPACE {
+ // Provide a hash function for arbitrary pointers...
+ template <> struct hash<llvm::DSNodeHandle> {
+ inline size_t operator()(const llvm::DSNodeHandle &Val) const {
+ return hash<void*>()(Val.getNode()) ^ Val.getOffset();
+ }
+ };
+}
+
namespace llvm {
//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list