From: Xinliang David Li Date: Fri, 8 Jan 2016 22:55:16 +0000 (+0000) Subject: [PGO] Introducing version mask macro/NFC X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=1b57757d706e2c6b20d8c775efabb73c9e5f3909 [PGO] Introducing version mask macro/NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257224 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ProfileData/InstrProfData.inc b/include/llvm/ProfileData/InstrProfData.inc index 9fc4f546b23..33c7d94aea2 100644 --- a/include/llvm/ProfileData/InstrProfData.inc +++ b/include/llvm/ProfileData/InstrProfData.inc @@ -700,6 +700,14 @@ serializeValueProfDataFromRT(const ValueProfRuntimeRecord *Record, #define INSTR_PROF_INDEX_VERSION 3 #define INSTR_PROF_COVMAP_VERSION 0 +/* Profile version is always of type uint_64_t. Reserve the upper 8 bits in the + * version for other variants of profile. We set the lowest bit of the upper 8 + * bits (i.e. bit 56) to 1 to indicate if this is an IR-level instrumentaiton + * generated profile, and 0 if this is a Clang FE generated profile. +*/ +#define VARIANT_MASKS_ALL 0xff00000000000000ULL +#define GET_VERSION(V) ((V) & ~VARIANT_MASKS_ALL) + /* Runtime section names and name strings. */ #define INSTR_PROF_DATA_SECT_NAME __llvm_prf_data #define INSTR_PROF_NAME_SECT_NAME __llvm_prf_names