Runtime routines to support tracing.
Currently includes code to hash pointers to sequence numbers.
The hash table should be separated out into a separate file
since that is generic.  The rest of this code is pretty small.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2655 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/runtime/libtrace/tracelib.h b/runtime/libtrace/tracelib.h
new file mode 100644
index 0000000..493e703
--- /dev/null
+++ b/runtime/libtrace/tracelib.h
@@ -0,0 +1,40 @@
+/*===-- Libraries/tracelib.h - Runtime routines for tracing -----*- C++ -*--===
+ *
+ * Runtime routines for supporting tracing of execution
+ * for code generated by LLVM.
+ *
+ *===---------------------------------------------------------------------===*/
+
+#ifndef _TEST_LIBRARIES_LIBINSTR_TRACELIB_
+#define _TEST_LIBRARIES_LIBINSTR_TRACELIB_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h>
+
+/*===---------------------------------------------------------------------=====
+ * Support for tracing pointers
+ *===---------------------------------------------------------------------===*/
+
+typedef unsigned int SequenceNumber;
+
+extern SequenceNumber HashPointerToSeqNum( char* ptr);
+
+extern void           ReleasePointerSeqNum(char* ptr);
+
+extern void           RecordPointer(char* ptr);
+
+extern void           PushPointerSet();
+
+extern void           ReleasePointersPopSet();
+
+
+#ifdef __cplusplus
+}
+#endif
+
+/*===---------------------------------------------------------------------===*/
+
+#endif _TEST_LIBRARIES_LIBINSTR_TRACELIB_