forked from OSchip/llvm-project
[PGO] Use common definition of raw magic and version
- Replace duplicate definition and use of magic in profile runtime - Replace hard coded version reference in profile runtime llvm-svn: 253885
This commit is contained in:
parent
ee252ded15
commit
e95d7fac58
|
@ -13,19 +13,8 @@
|
|||
#include <string.h>
|
||||
|
||||
LLVM_LIBRARY_VISIBILITY uint64_t __llvm_profile_get_magic(void) {
|
||||
/* Magic number to detect file format and endianness.
|
||||
*
|
||||
* Use 255 at one end, since no UTF-8 file can use that character. Avoid 0,
|
||||
* so that utilities, like strings, don't grab it as a string. 129 is also
|
||||
* invalid UTF-8, and high enough to be interesting.
|
||||
*
|
||||
* Use "lprofr" in the centre to stand for "LLVM Profile Raw", or "lprofR"
|
||||
* for 32-bit platforms.
|
||||
*/
|
||||
unsigned char R = sizeof(void *) == sizeof(uint64_t) ? 'r' : 'R';
|
||||
return (uint64_t)255 << 56 | (uint64_t)'l' << 48 | (uint64_t)'p' << 40 |
|
||||
(uint64_t)'r' << 32 | (uint64_t)'o' << 24 | (uint64_t)'f' << 16 |
|
||||
(uint64_t)R << 8 | (uint64_t)129;
|
||||
return sizeof(void *) == sizeof(uint64_t) ? (INSTR_PROF_RAW_MAGIC_64)
|
||||
: (INSTR_PROF_RAW_MAGIC_32);
|
||||
}
|
||||
|
||||
/* Return the number of bytes needed to add to SizeInBytes to make it
|
||||
|
@ -37,8 +26,7 @@ __llvm_profile_get_num_padding_bytes(uint64_t SizeInBytes) {
|
|||
}
|
||||
|
||||
LLVM_LIBRARY_VISIBILITY uint64_t __llvm_profile_get_version(void) {
|
||||
/* This should be bumped any time the output format changes. */
|
||||
return 2;
|
||||
return INSTR_PROF_RAW_VERSION;
|
||||
}
|
||||
|
||||
LLVM_LIBRARY_VISIBILITY void __llvm_profile_reset_counters(void) {
|
||||
|
|
Loading…
Reference in New Issue