Xinliang David Li
9235d9f6d7
bug fix: trim section specifier name length
...
llvm-svn: 270350
2016-05-22 01:21:31 +00:00
Xinliang David Li
31023d3061
Fix a typo (darwin only)
...
llvm-svn: 270339
2016-05-21 23:27:18 +00:00
Xinliang David Li
2a99857e1a
Fix typo
...
llvm-svn: 270338
2016-05-21 23:06:39 +00:00
Xinliang David Li
4e8754d2cb
[profile] Static counter allocation for value profiling (part-2)
...
Differential Revision: http://reviews.llvm.org/D20460
llvm-svn: 270337
2016-05-21 22:55:45 +00:00
Sean Silva
357b0e3a7c
Use C-style comment.
...
I think we allow use of C99 for libprofile, but use a C-style comment
for consistency.
llvm-svn: 270187
2016-05-20 06:13:07 +00:00
Xinliang David Li
fb320a1137
Fix bot failure
...
llvm-svn: 270186
2016-05-20 05:40:07 +00:00
Xinliang David Li
690c31f104
[profile] PROF_ERR, PROF_WARN
...
1) Move common prefix to the macro def
2) Introduced PROF_WARN
3) Make error message unconditionally printed out.
llvm-svn: 270185
2016-05-20 05:15:42 +00:00
Xinliang David Li
71eddbf540
[profile] Remove anther malloc use
...
llvm-svn: 270181
2016-05-20 04:52:27 +00:00
Sean Silva
b01e4b7727
Add #include for PS4 getenv shim.
...
llvm-svn: 270179
2016-05-20 03:43:39 +00:00
Sean Silva
29e434769e
Small typo and whitespace fix.
...
llvm-svn: 270177
2016-05-20 03:25:15 +00:00
Xinliang David Li
5f153e686e
[profile] entry eviction support in value profiler
...
Differential revision: http://reviews.llvm.org/D20408
llvm-svn: 270141
2016-05-19 21:35:34 +00:00
Vedant Kumar
3afe657030
Reapply^3 "[ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC"
...
Sync up with "(llvm) Use Error in InstrProf and Coverage".
llvm-svn: 270022
2016-05-19 03:55:20 +00:00
Sean Silva
aa705eccbe
Fix typo.
...
llvm-svn: 270005
2016-05-19 00:12:02 +00:00
Xinliang David Li
4617aa7827
[profile] Allow max vals per site to be controllable at runtime
...
llvm-svn: 269993
2016-05-18 22:34:05 +00:00
Xinliang David Li
32173153a4
[profile] add runtime variable documentation
...
llvm-svn: 269964
2016-05-18 17:44:57 +00:00
Sean Silva
cfec6c6a28
Avoid leak. Free before resetting.
...
llvm-svn: 269724
2016-05-16 23:28:35 +00:00
Xinliang David Li
21d38c5eaf
[profile] Add portability macro for atomic fetch_and_add
...
This is another enabler patch to support value profiling
without dynamic memory allocation.
llvm-svn: 269719
2016-05-16 23:01:03 +00:00
Vedant Kumar
533a88a5c9
Revert "Reapply^2 "[ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC""
...
This reverts commit r269696. The llvm commit does not pass the MSVC bot.
llvm-svn: 269702
2016-05-16 21:05:05 +00:00
Vedant Kumar
cd5efa593b
Reapply^2 "[ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC"
...
Sync up with "(llvm) Use Error in InstrProf and Coverage".
Differential Revision: http://reviews.llvm.org/D19903
llvm-svn: 269696
2016-05-16 20:50:36 +00:00
Xinliang David Li
f90425e73b
[profile] minor code restructuring /NFC
...
This is one of the enabler patch to allow value profiler to
allocate counter statically.
llvm-svn: 269689
2016-05-16 20:33:30 +00:00
Paul Robinson
595b969c67
[PS4] Change the names of some "environmental" things to what our
...
licensees actually see in the toolchain we deliver to them. This will
reduce the set of local patches we have to maintain. The triple is
not changing. (The term ORBIS is an internal code name for PS4.)
llvm-svn: 269672
2016-05-16 17:22:32 +00:00
Xinliang David Li
6c7bddb28b
Use __builtin_alloca with __GNUC__
...
llvm-svn: 269592
2016-05-15 16:41:58 +00:00
Xinliang David Li
fedb0fd907
Fix FreeBSD build failure
...
llvm-svn: 269587
2016-05-15 04:26:17 +00:00
Xinliang David Li
23a66e45ed
[profile] Eliminate dynamic memory allocation for vp writing
...
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
2016-05-14 20:12:42 +00:00
Chandler Carruth
a3cd590644
Revert "Reapply "[ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC""
...
This reverts commit r269493 as the corresponding LLVM commit was
reverted due to lots of warnings. See the review thread for the original
LLVM commit (r269491) for details.
llvm-svn: 269550
2016-05-14 05:40:00 +00:00
Xinliang David Li
a16c754e17
minor cleanup -- reset buffer pointer
...
llvm-svn: 269533
2016-05-14 03:16:47 +00:00
Vedant Kumar
be1b4e4dc6
Reapply "[ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC"
...
Sync up with "(llvm) Use Error in InstrProf and Coverage".
Differential Revision: http://reviews.llvm.org/D19903
llvm-svn: 269493
2016-05-13 21:51:06 +00:00
Vedant Kumar
bd3c2f25fa
Revert "(HEAD -> master, origin/master, origin/HEAD) [ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC"
...
This reverts commit r269464. It fails two llvm-profdata tests.
llvm-svn: 269469
2016-05-13 20:10:49 +00:00
Vedant Kumar
6ecc10ab80
[ProfileData] (compiler-rt) Use Error in InstrProf and Coverage, NFC
...
Sync up with "(llvm) Use Error in InstrProf and Coverage".
llvm-svn: 269464
2016-05-13 20:01:38 +00:00
Xinliang David Li
609fae3893
[profile] Eliminate dynamic memory allocation for buffered writer
...
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
2016-05-13 18:26:26 +00:00
Xinliang David Li
d1dadf6bcf
[profile] Code refactoring
...
Move runtime specific code from the common header file
to runtime source.
llvm-svn: 269357
2016-05-12 21:43:49 +00:00
Xinliang David Li
911af1ce15
Minor code refactoring /NFC
...
llvm-svn: 269351
2016-05-12 21:18:41 +00:00
Xinliang David Li
667de6a84e
[profile] profile writing cleanup
...
Do not precompute value counts for all sites. This
eliminates one more use of dynamic allocation
in profiler writer.
llvm-svn: 269254
2016-05-11 23:21:22 +00:00
Xinliang David Li
eb836a3dec
cleanup: Enforce caller to set total size to avoid redundant size compute
...
llvm-svn: 269237
2016-05-11 21:16:11 +00:00
Xinliang David Li
e9a8574da1
Reapply r268840: [profile] Simplify value profile writing
...
Revert r268864 that reverted 268840 after underlying problem
is fixed for arm bot.
llvm-svn: 268992
2016-05-10 00:17:31 +00:00
Xinliang David Li
b5a2b3a429
Fix variable visibility
...
llvm-svn: 268952
2016-05-09 19:01:19 +00:00
Renato Golin
26642b4035
Revert "[profile] Simplify value profile writing"
...
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
2016-05-07 20:07:09 +00:00
Xinliang David Li
4b30c79723
[profile] Simplify value profile writing
...
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
2016-05-07 02:50:11 +00:00
Xinliang David Li
ac96ea422b
[profile] Remove another unneeded field in raw profile reader
...
DataValueSize is now removed. The change is consolidated
with previous raw version bump.
llvm-svn: 268704
2016-05-06 02:13:12 +00:00
Xinliang David Li
2cb6f0ce29
Sync up with master file
...
llvm-svn: 268603
2016-05-05 04:07:45 +00:00
Xinliang David Li
5d2e06a34b
sync up with master copy
...
llvm-svn: 265609
2016-04-06 22:30:14 +00:00
Adam Nemet
fadba5d4d4
[PGO] More comments how function pointers for indirect calls are mapped
...
to function names
Summary:
Hopefully this will make it easier for the next person to figure all
this out...
Reviewers: bogner, davidxl
Subscribers: davidxl, cfe-commits
Differential Revision: http://reviews.llvm.org/D18489
llvm-svn: 264680
2016-03-28 22:16:29 +00:00
Sean Silva
c2feac75fd
[libprofile] Handle '\\' in __llvm_profile_recursive_mkdir
...
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
2016-03-28 21:32:46 +00:00
Adam Nemet
a68d755774
[PGO] Update r264612 to use C-style comment
...
llvm-svn: 264615
2016-03-28 18:47:44 +00:00
Adam Nemet
42a6fe199f
[PGO] Comment how function pointers for indirect calls are mapped to function names
...
Summary:
Hopefully this will make it easier for the next person to figure all
this out...
Reviewers: bogner, davidxl
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18490
llvm-svn: 264612
2016-03-28 18:29:36 +00:00
Xinliang David Li
5f58c27d79
Fix test failure on darwin-i386
...
llvm-svn: 263065
2016-03-09 21:45:37 +00:00
Filipe Cabecinhas
19aeaf76df
[Fix r262785] Fix missing declaration when COMPILER_RT_BOOL_CMPXCHG was used but InstrProfilingUtil.h wasn't included.
...
Also fixed declaration which still had the pre-r262788 name.
llvm-svn: 262827
2016-03-07 13:42:17 +00:00
Xinliang David Li
09fecac354
cleanup: remove dead preprocessing branch /nfc
...
llvm-svn: 262792
2016-03-06 04:56:55 +00:00
Xinliang David Li
44fd38856c
[PGO] cleanup: move one support method into InstrProfilingUtil.h /NFC
...
llvm-svn: 262791
2016-03-06 04:52:45 +00:00
Xinliang David Li
cf1a8d6912
[PGO] internal API name cleanups (for better consistency)
...
llvm-svn: 262788
2016-03-06 04:18:13 +00:00