mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
24844831b5
Function names in ObjC can have spaces in them. This interacts poorly with name compression, which uses spaces to separate PGO names. Fix the issue by using a different separator and update a test. I chose "\01" as the separator because 1) it's non-printable, 2) we strip it from PGO names, and 3) it's the next natural choice once "\00" is discarded (that one's overloaded). What's changed since the original commit? - I fixed up the covmap-V2 binary format tests using a linux VM. - I weakened the CHECK lines in instrprof-comdat.h to account for the fact that there have been bugfixes to clang coverage. These will be fixed up in a follow-up. - I added an assert to make sure we don't get bitten by this again. - I constructed the c-general.profraw file without name compression enabled to appease some bots. Differential Revision: http://reviews.llvm.org/D18516 llvm-svn: 264658
50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
RUN: printf '\377lprofR\201' > %t
|
|
RUN: printf '\0\0\0\0\0\0\0\3' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\2' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\3' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\20' >> %t
|
|
RUN: printf '\0\0\0\0\1\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\0\2\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\0' >> %t
|
|
|
|
RUN: printf '\134\370\302\114\333\030\275\254' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\1' >> %t
|
|
RUN: printf '\1\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\1' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\0' >> %t
|
|
|
|
RUN: printf '\344\023\165\112\031\035\265\067' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\2' >> %t
|
|
RUN: printf '\1\0\0\10' >> %t
|
|
RUN: printf '\0\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\0' >> %t
|
|
RUN: printf '\0\0\0\2' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\0' >> %t
|
|
|
|
RUN: printf '\0\0\0\0\0\0\0\023' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\067' >> %t
|
|
RUN: printf '\0\0\0\0\0\0\0\101' >> %t
|
|
RUN: printf '\7\0foo\1bar\0\0\0\0\0\0\0' >> %t
|
|
|
|
RUN: llvm-profdata show %t -all-functions -counts | FileCheck %s
|
|
|
|
CHECK: Counters:
|
|
CHECK: foo:
|
|
CHECK: Hash: 0x0000000000000001
|
|
CHECK: Counters: 1
|
|
CHECK: Function count: 19
|
|
CHECK: Block counts: []
|
|
CHECK: bar:
|
|
CHECK: Hash: 0x0000000000000002
|
|
CHECK: Counters: 2
|
|
CHECK: Function count: 55
|
|
CHECK: Block counts: [65]
|
|
CHECK: Functions shown: 2
|
|
CHECK: Total functions: 2
|
|
CHECK: Maximum function count: 55
|
|
CHECK: Maximum internal block count: 65
|