Move two Value Profiler data structs to InstrProfData.inc (NFC)
authorXinliang David Li <davidxl@google.com>
Mon, 23 Nov 2015 05:29:51 +0000 (05:29 +0000)
committerXinliang David Li <davidxl@google.com>
Mon, 23 Nov 2015 05:29:51 +0000 (05:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253848 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ProfileData/InstrProf.h
include/llvm/ProfileData/InstrProfData.inc

index ec08166492487837f451b7f389f7418d64624a54..cc49452eb87317429232dd4c43ef9cec0e2d9498 100644 (file)
@@ -199,13 +199,6 @@ struct InstrProfStringTable {
   }
 };
 
-struct InstrProfValueData {
-  // Profiled value.
-  uint64_t Value;
-  // Number of times the value appears in the training run.
-  uint64_t Count;
-};
-
 struct InstrProfValueSiteRecord {
   /// Value profiling data pairs at a given value site.
   std::list<InstrProfValueData> ValueData;
index 63447ce8ca73b4c089ede1197267fa8d0d40b97f..a51071123d735c9f0e22f6a6b9089d25f78f1ee4 100644 (file)
@@ -230,6 +230,25 @@ COVMAP_FUNC_RECORD(const uint64_t, llvm::Type::getInt64Ty(Ctx), FuncHash, \
 #define INSTR_PROF_VALUE_PROF_FUNC_STR \
         INSTR_PROF_QUOTE(INSTR_PROF_VALUE_PROF_FUNC)
 
+/* The data structure that represents a tracked value by the
+ * value profiler.
+ */
+typedef struct InstrProfValueData {
+  // Profiled value.
+  uint64_t Value;
+  // Number of times the value appears in the training run.
+  uint64_t Count;
+} InstrProfValueData;
+
+/* This is an internal data structure used by value profiler. It
+ * is defined here to allow serialization code sharing by LLVM
+ * to be used in unit test.
+ */
+typedef struct ValueProfNode {
+  InstrProfValueData VData;
+  struct ValueProfNode *Next;
+} ValueProfNode;
+
 #endif /* INSTR_PROF_DATA_INC_ */
 
 #else