diff --git a/include/llvm/Support/PointerLikeTypeTraits.h b/include/llvm/Support/PointerLikeTypeTraits.h
index 226dacf..c5f79cc 100644
--- a/include/llvm/Support/PointerLikeTypeTraits.h
+++ b/include/llvm/Support/PointerLikeTypeTraits.h
@@ -58,20 +58,6 @@
   enum { NumLowBitsAvailable = 3 };
 };
 
-// Pointers to pointers are only 4-byte aligned on 32-bit systems.
-template<typename T>
-class PointerLikeTypeTraits<T**> {
-public:
-  static inline void *getAsVoidPointer(T** P) { return P; }
-  static inline T **getFromVoidPointer(void *P) {
-    return static_cast<T**>(P);
-  }
-  enum { NumLowBitsAvailable = 2 };
-};
-  
-  
-  
-  
 // Provide PointerLikeTypeTraits for uintptr_t.
 template<>
 class PointerLikeTypeTraits<uintptr_t> {
diff --git a/include/llvm/Support/ValueHandle.h b/include/llvm/Support/ValueHandle.h
index 2771464..a668656 100644
--- a/include/llvm/Support/ValueHandle.h
+++ b/include/llvm/Support/ValueHandle.h
@@ -18,6 +18,18 @@
 #include "llvm/Value.h"
 
 namespace llvm {
+class ValueHandleBase;
+
+// ValueHandleBase** is only 4-byte aligned.
+template<>
+class PointerLikeTypeTraits<ValueHandleBase**> {
+public:
+  static inline void *getAsVoidPointer(ValueHandleBase** P) { return P; }
+  static inline ValueHandleBase **getFromVoidPointer(void *P) {
+    return static_cast<ValueHandleBase**>(P);
+  }
+  enum { NumLowBitsAvailable = 2 };
+};
 
 /// ValueHandleBase - This is the common base class of value handles.
 /// ValueHandle's are smart pointers to Value's that have special behavior when
diff --git a/include/llvm/Use.h b/include/llvm/Use.h
index 32cdd1b..53df699 100644
--- a/include/llvm/Use.h
+++ b/include/llvm/Use.h
@@ -29,6 +29,17 @@
 /// Tag - generic tag type for (at least 32 bit) pointers
 enum Tag { noTag, tagOne, tagTwo, tagThree };
 
+// Use** is only 4-byte aligned.
+template<>
+class PointerLikeTypeTraits<Use**> {
+public:
+  static inline void *getAsVoidPointer(Use** P) { return P; }
+  static inline Use **getFromVoidPointer(void *P) {
+    return static_cast<Use**>(P);
+  }
+  enum { NumLowBitsAvailable = 2 };
+};
+
 //===----------------------------------------------------------------------===//
 //                                  Use Class
 //===----------------------------------------------------------------------===//
