summaryrefslogtreecommitdiff
path: root/lib/profile/InstrProfilingPlatformLinux.c
AgeCommit message (Collapse)Author
2017-12-14Revert "(HEAD -> master, origin/master, origin/HEAD) [profile] Port the ↵Vedant Kumar
runtime to Solaris" This reverts commit r320726. It looks like flock isn't available on Windows: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/21317/steps/build%20compiler-rt/logs/stdio git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@320728 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-14[profile] Port the runtime to SolarisVedant Kumar
This includes a few nice bits of refactoring (e.g splitting out the exclusive locking code into a common utility). Patch by Rainer Orth! Differential Revision: https://reviews.llvm.org/D40944 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@320726 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-22[profile] initialize static pool properly Xinliang David Li
Remove dependency on runtime initializer to avoid issues related to initialization order. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@270371 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-21[profile] Static counter allocation for value profiling (part-2)Xinliang David Li
Differential Revision: http://reviews.llvm.org/D20460 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@270337 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-16[PGO] cleanup: unify prefix for portability macrosXinliang David Li
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255748 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-23[PGO] Unify section name, section symbol definitions (Linux)Xinliang David Li
Replace hard-coded references to names to key section and section symbols with common macro definitions. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253897 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-23[PGO] Compiler-rt cleanup -- introduces macros for various macrosXinliang David Li
This makes code more readable and be made more portable in the future. There is no functional change. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253845 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-13[PGO] Ensure profile section symbols are created (linux)Xinliang David Li
- 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 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253098 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-19[PGO] Eliminate prof data register calls on FreeBSD platformXinliang David Li
This is a follow up patch of r250199 after verifying the start/stop section symbols work as spected on FreeBSD. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@250680 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[PGO]: Eliminate calls to __llvm_profile_register_function for Linux.Xinliang David Li
On Linux, the profile runtime can use __start_SECTNAME and __stop_SECTNAME symbols defined by the linker to locate the start and end location of a named section (with C name). This eliminates the need for instrumented binary to call __llvm_profile_register_function during start-up time. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@250200 91177308-0d34-0410-b5e6-96231b3b80d8