aboutsummaryrefslogtreecommitdiff
path: root/runtime/libprofile/Profiling.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/libprofile/Profiling.h')
-rw-r--r--runtime/libprofile/Profiling.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/runtime/libprofile/Profiling.h b/runtime/libprofile/Profiling.h
new file mode 100644
index 0000000000..bb7cc8bc96
--- /dev/null
+++ b/runtime/libprofile/Profiling.h
@@ -0,0 +1,34 @@
+/*===-- Profiling.h - Profiling support library support routines --*- C -*-===*\
+|*
+|* The LLVM Compiler Infrastructure
+|*
+|* This file was developed by the LLVM research group and is distributed under
+|* the University of Illinois Open Source License. See LICENSE.TXT for details.
+|*
+|*===----------------------------------------------------------------------===*|
+|*
+|* This file defines functions shared by the various different profiling
+|* implementations.
+|*
+\*===----------------------------------------------------------------------===*/
+
+#ifndef PROFILING_H
+#define PROFILING_H
+
+/* save_arguments - Save argc and argv as passed into the program for the file
+ * we output.
+ */
+void save_arguments(int argc, const char **argv);
+
+enum ProfilingType {
+ Arguments = 1, /* The command line argument block */
+ Function = 2, /* Function profiling information */
+ Block = 3, /* Block profiling information */
+ Edge = 4, /* Edge profiling information */
+ Path = 5 /* Path profiling information */
+};
+
+void write_profiling_data(enum ProfilingType PT, unsigned *Start,
+ unsigned NumElements);
+
+#endif