mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
824444e97a
The raw profiles that are generated in compiler-rt always add padding so that each profile is aligned, so we can simply treat files that don't have this property as malformed. Caught by Alexey's new ubsan bot. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217708 91177308-0d34-0410-b5e6-96231b3b80d8
63 lines
2.3 KiB
Plaintext
63 lines
2.3 KiB
Plaintext
RUN: printf '\201rforpl\377' > %t-foo.profraw
|
|
RUN: printf '\1\0\0\0\0\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\1\0\0\0\0\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\1\0\0\0\0\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\3\0\0\0\0\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\0\0\4\0\1\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\0\0\4\0\2\0\0\0' >> %t-foo.profraw
|
|
|
|
RUN: printf '\3\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\1\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\1\0\0\0\0\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\0\0\4\0\2\0\0\0' >> %t-foo.profraw
|
|
RUN: printf '\0\0\4\0\1\0\0\0' >> %t-foo.profraw
|
|
|
|
RUN: printf '\023\0\0\0\0\0\0\0' >> %t-foo.profraw
|
|
RUN: printf 'foo' >> %t-foo.profraw
|
|
|
|
RUN: printf '\201rforpl\377' > %t-bar.profraw
|
|
RUN: printf '\1\0\0\0\0\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\1\0\0\0\0\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\2\0\0\0\0\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\3\0\0\0\0\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\0\0\6\0\1\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\0\0\6\0\2\0\0\0' >> %t-bar.profraw
|
|
|
|
RUN: printf '\3\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\2\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\2\0\0\0\0\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\0\0\6\0\2\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\0\0\6\0\1\0\0\0' >> %t-bar.profraw
|
|
|
|
RUN: printf '\067\0\0\0\0\0\0\0' >> %t-bar.profraw
|
|
RUN: printf '\101\0\0\0\0\0\0\0' >> %t-bar.profraw
|
|
RUN: printf 'bar' >> %t-bar.profraw
|
|
|
|
Versions of the profiles that are padded to eight byte alignment.
|
|
RUN: cat %t-foo.profraw > %t-foo-padded.profraw
|
|
RUN: printf '\0\0\0\0\0' >> %t-foo-padded.profraw
|
|
RUN: cat %t-bar.profraw > %t-bar-padded.profraw
|
|
RUN: printf '\0\0\0\0\0' >> %t-bar-padded.profraw
|
|
|
|
RUN: cat %t-foo-padded.profraw %t-bar.profraw > %t-pad-between.profraw
|
|
RUN: cat %t-foo-padded.profraw %t-bar-padded.profraw > %t-pad.profraw
|
|
|
|
RUN: llvm-profdata show %t-pad-between.profraw -all-functions -counts | FileCheck %s
|
|
RUN: llvm-profdata show %t-pad.profraw -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
|