aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Use.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Use.h')
-rw-r--r--include/llvm/Use.h11
1 files changed, 11 insertions, 0 deletions
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 @@ class Use;
/// 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
//===----------------------------------------------------------------------===//