| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow multiple raw profiles to coexist in a single .profraw file,
given the following conditions:
- Zero padding at the end of or between profiles will be skipped.
- Each profile must start with a valid header.
- Mixing endianness or pointer sizes in concatenated profiles files is
not allowed.
This is needed to handle cases where a program's shared libraries are
profiled as well as the main executable itself, as we'll need to emit
each executable's counters. Combining the tables in the runtime would
be expensive for the instrumented program.
rdar://16918688
llvm-svn: 208938
|
|
|
|
|
|
|
|
| |
a const char *, so casting to non-const was triggering a warning (even though the assignment and usage was always const anyway).
No functional changes intended.
llvm-svn: 207774
|
|
|
|
|
|
| |
necessary.
llvm-svn: 207593
|
|
|
|
|
|
| |
'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves.
llvm-svn: 207511
|
|
|
|
| |
llvm-svn: 207172
|
|
|
|
|
|
|
|
| |
We're currently copying CounterData from InstrProfWriter into the
OnDiskHashTable, even though we don't need to, and then carelessly
leaking those copies. A const pointer is much better here.
llvm-svn: 207009
|
|
|
|
|
|
| |
Spotted by Nick Lewycky in review, thanks!
llvm-svn: 206708
|
|
|
|
| |
llvm-svn: 206675
|
|
|
|
| |
llvm-svn: 206663
|
|
|
|
|
|
|
|
| |
This adds support for an indexed instrumentation based profiling
format, which is just a small header and an on disk hash table. This
format will be used by clang's -fprofile-instr-use= for PGO.
llvm-svn: 206656
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 204580
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the profile can come from 32-bit machines, we need to check the
pointer size. Change the magic number to facilitate this.
Adds tests for reading 32-bit and 64-bit binaries (both big- and
little-endian). The tests write a binary using printf in RUN lines
(like raw-magic-but-no-header.test). Assuming the bots don't complain,
this seems like a better way forward for testing RawInstrProfReader than
committing binary files.
<rdar://problem/16400648>
llvm-svn: 204557
|
|
|
|
| |
llvm-svn: 204553
|
|
|
|
|
|
|
|
| |
Fixes 80-column violation at the same time.
<rdar://problem/15950346>
llvm-svn: 204516
|
|
|
|
|
|
|
|
|
| |
Include non-text characters in the magic number so that text files can't
match.
<rdar://problem/15950346>
llvm-svn: 204513
|
|
|
|
|
|
| |
<rdar://problem/15950346>
llvm-svn: 204512
|
|
|
|
|
|
|
|
| |
No functionality change.
<rdar://problem/15950346>
llvm-svn: 204511
|
|
|
|
|
|
| |
<rdar://problem/15950346>
llvm-svn: 204510
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Read a raw binary profile that corresponds to a memory dump from the
runtime profile.
The test is a binary file generated from
cfe/trunk/test/Profile/c-general.c with the new compiler-rt runtime and
the matching text version of the input. It includes instructions on how
to regenerate.
<rdar://problem/15950346>
llvm-svn: 204496
|
|
|
|
| |
llvm-svn: 204494
|
|
|
|
|
|
|
|
|
|
|
| |
This isn't a format we'll want to write out in practice, but moving it
to the writer library simplifies llvm-profdata and isolates it from
further changes to the format.
This also allows us to update the tests to not rely on the text output
format.
llvm-svn: 204489
|
|
This introduces the ProfileData library and updates llvm-profdata to
use this library for reading profiles. InstrProfReader is an abstract
base class that will be subclassed for both the raw instrprof data
from compiler-rt and the efficient instrprof format that will be used
for PGO.
llvm-svn: 204482
|