| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 276027
|
|
|
|
|
|
| |
(obligatory s/typeo/typo)
llvm-svn: 275632
|
|
|
|
| |
llvm-svn: 275597
|
|
|
|
|
|
|
| |
It's possible for a merge pool specifier to appear anywhere in a
filename pattern. Update the warning to reflect this.
llvm-svn: 272685
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21219
llvm-svn: 272428
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21056
llvm-svn: 272227
|
|
|
|
|
|
|
|
|
|
|
| |
- lprofCurFilename was intended to have external visibility. This is
pending further discussion.
- The raw version number doesn't need to be hidden: hiding it may make
it easier to accidentally combine FE/IR profiles.
See the mailing list discussion on r272081.
llvm-svn: 272089
|
|
|
|
|
|
|
|
| |
There are still a few external symbols visible from InstrProfData.inc.
The plan for dealing with those isn't as straightforward, so I'll try it
in a separate commit.
llvm-svn: 272081
|
|
|
|
|
|
| |
Also get rid of the redundant strncpy calls.
llvm-svn: 270730
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After r270617 I am getting an error when building:
projects/compiler-rt/lib/profile/InstrProfilingFile.c:33:36:
error: missing field 'PidChars' initializer
[-Werror,-Wmissing-field-initializers]
lprofFilename lprofCurFilename = {0};
^
Fix the aggregate initializer.
llvm-svn: 270697
|
|
|
|
|
|
| |
Differentianl Revision: http://reviews.llvm.org/D20572
llvm-svn: 270617
|
|
|
|
| |
llvm-svn: 270524
|
|
|
|
|
|
| |
Also added more documentation.
llvm-svn: 270519
|
|
|
|
| |
llvm-svn: 270186
|
|
|
|
|
|
|
|
| |
1) Move common prefix to the macro def
2) Introduced PROF_WARN
3) Make error message unconditionally printed out.
llvm-svn: 270185
|
|
|
|
| |
llvm-svn: 270181
|
|
|
|
| |
llvm-svn: 269993
|
|
|
|
|
|
|
|
|
|
| |
This is part-3 of the effort to eliminate dependency on
libc allocator in instr profiler runtime. With this change,
the profile dumper is completely free of malloc/calloc.
Value profile instr API implementation is the only remaining
piece with calloc dependency.
llvm-svn: 269576
|
|
|
|
|
|
|
|
| |
With this change, dynamic memory allocation is only used
for testing purpose. This change is one of the many steps to
make instrument profiler dynamic allocation free.
llvm-svn: 269453
|
|
|
|
|
|
|
| |
Revert r268864 that reverted 268840 after underlying problem
is fixed for arm bot.
llvm-svn: 268992
|
|
|
|
|
|
|
|
| |
This reverts commit r268840, as it breaks Thumb2 self-hosting. There is something
unstable in the profiling for Thumb2 that needs to be sorted out before we continue
implementing these changes to the profiler. See PR27667.
llvm-svn: 268864
|
|
|
|
|
|
|
|
| |
With this patch, value data are longer pre-collected
before writing. The code is simplified and requires
less heap space for dumping.
llvm-svn: 268840
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is implicitly needed at least by gcc-flag-compatibility.test
The thing that needs it is the `\` preceding the "default.profraw"
appended internally by clang when doing `-fprofile-use=`.
Clang uses `\` because is uses sys::path::append which will use `\` on a
Windows host. This is wrong, but I don't think there's an easy way to
solve it (maybe just always using `/` since places that accept `\` also
tend to accept `/`, but not the other way around).
llvm-svn: 264665
|
|
|
|
| |
llvm-svn: 262791
|
|
|
|
| |
llvm-svn: 262788
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for expanding "%h" out to the machine hostname
in the LLVM_PROFILE_FILE environment variable.
Patch by Daniel Waters!
Differential Revision: http://reviews.llvm.org/D16371
llvm-svn: 259272
|
|
|
|
| |
llvm-svn: 259068
|
|
|
|
| |
llvm-svn: 257232
|
|
|
|
|
|
|
|
| |
IR level instrumentation needs to override version with variant bits.
No change for FE instrumentation is needed. Test case is added to
detect version mismatch.
llvm-svn: 257230
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This change configures Windows builds to build the complier-rt profile support library (clang_rt.profile-i386.lib). Windows API incompatibilities in the compiler-rt profile lib are also fixed.
Reviewers: davidxl, dnovillo
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15830
llvm-svn: 256848
|
|
|
|
|
|
|
|
|
| |
Extract the buffered filer writer code used by value profile
writer and turn it into common/sharable buffered fileIO
interfaces. Added a test case for the buffered file writer and
rewrite the VP dumping using the new APIs.
llvm-svn: 256604
|
|
|
|
|
|
|
|
|
|
| |
The profile reader no longer depends on this field to be updated and point
to owning func's vp data. The VP data also no longer needs to be allocated
in a contiguous memory space.
Differential Revision: http://reviews.llvm.org/D15258
llvm-svn: 256543
|
|
|
|
| |
llvm-svn: 255748
|
|
|
|
|
|
|
|
|
| |
Patch by: Johan Engelen
Introduce LLVM_LIBRARY_WEAK macro. Define LLVM_LIBRARY_WEAK
and LLVM_LIBRARY_VISIBIITY for MSVC
llvm-svn: 255688
|
|
|
|
|
|
|
|
|
|
| |
Patch by: Johan Engelen
On windows, opening in text mode will result in
line ending chars to be appended leading to
profile corruption.
llvm-svn: 255684
|
|
|
|
| |
llvm-svn: 254943
|
|
|
|
|
|
| |
Also added a test case for runtime error reporting.
llvm-svn: 254625
|
|
|
|
|
|
|
| |
This makes code more readable and be made more portable in the future.
There is no functional change.
llvm-svn: 253845
|
|
|
|
|
|
|
|
|
|
|
|
| |
(patch suggested by silvas)
With this patch, the IO information is wrapped in struct
ProfDataIOVec, and interface of writerCallback takes a vector
of IOVec and a pointer to writer context pointer.
Differential Revision: http://reviews.llvm.org/D14859
llvm-svn: 253764
|
|
|
|
|
|
|
|
| |
1. fix naming problem of file/buffer writer
2. change BufferOrFile to WriterCtx
3. move writer and writerctx together
llvm-svn: 253545
|
|
|
|
| |
llvm-svn: 253503
|
|
|
|
|
|
|
|
|
| |
With this change, Buffer API and File API implementations
are unified.
Differential Revision: http://reviews.llvm.org/D14692
llvm-svn: 253500
|
|
|
|
|
|
|
|
| |
This change adds extends the data structures and adds in the routines
for handling runtime calls for value profiling. The profile data format
is modified and the version number is incremented.
llvm-svn: 253483
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This is to handle a corner case where profile lib is linked
in but non of the modules are instrumented (On linux, since
we avoided the overhead to emit runtime hook use functions so
this is the side effect of that size optimization).
- Added a profile runtime test case to cover all scenarios of
shared library builds.
Differential Revision: http://reviews.llvm.org/D14468
llvm-svn: 253098
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces a well defined header struct
to represent raw profile header instead of using raw array.
Previously the raw array is used in two different files and
is very error prone when header structure is re-organized.
This is a small cleanup with NFC.
llvm-svn: 250561
|
|
|
|
| |
llvm-svn: 242350
|
|
|
|
|
|
|
|
|
|
| |
When the file is initialized, this patch checks whether the path
specifies a directory. If so, it creates the directory tree before
truncating the file.
Use default.profdata instead of pgo-data for default indexed profile name.
llvm-svn: 241824
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the profile output from the command line via -fprofile-instr-generate=<path>,
where the specified output path/file will be overridden by the
LLVM_PROFILE_FILE environment variable.
Several changes are made to the runtime to support this:
Add a new interface __llvm_profile_override_default_filename that will
set the profile output filename, but allows LLVM_PROFILE_FILE to override.
This is the interface used by the new option.
Refactor the pid-expansion done for LLVM_PROFILE_FILE into a separate
routine that can be shared by the various filename setting routines
(so that the filename from the option can also use the "%p" syntax).
Move the truncation into setFilename, and only truncate if there is a
new filename specified (to maintain support for appending to the same
profile file in the case of multiple shared objects built with profiling).
Move the handling for a NULL filename passed to __llvm_profile_set_filename and
__llvm_profile_override_default_filename into the new setFilenamePossiblyWithPid
routine. This now correctly resets the output file to default.profraw
instead of NULL.
The handling for a null LLVM_PROFILE_FILE (which should not reset) is done
by caller setFilenameFromEnvironment.
Patch by Teresa Johnson.
llvm-svn: 236055
|
|
|
|
|
|
| |
correct header to get errno.
llvm-svn: 231647
|
|
|
|
| |
llvm-svn: 230494
|