summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/profile
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typo in MSC pathXinliang David Li2015-12-171-1/+1
| | | | llvm-svn: 255938
* [PGO] cleanup: unify prefix for portability macrosXinliang David Li2015-12-1612-80/+83
| | | | llvm-svn: 255748
* [PGO] Improve prof library portabilityXinliang David Li2015-12-153-6/+8
| | | | | | | | | Patch by: Johan Engelen Introduce LLVM_LIBRARY_WEAK macro. Define LLVM_LIBRARY_WEAK and LLVM_LIBRARY_VISIBIITY for MSVC llvm-svn: 255688
* [PGO] Open file with explict binary modeXinliang David Li2015-12-151-1/+1
| | | | | | | | | | 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
* [PGO] Split value profiling runtime into its own fileXinliang David Li2015-12-103-219/+238
| | | | | | | | | Value profile runtime depends on libc which breaks buffer API implemenation with current file organization. Test case is also updated to check more symbols. llvm-svn: 255294
* Sync up with masterXinliang David Li2015-12-101-0/+1
| | | | llvm-svn: 255293
* [PGO] Move impl specific decl to InstrProfilingInternal.h (NFC)Xinliang David Li2015-12-103-3/+3
| | | | llvm-svn: 255290
* [PGO] Move target-dependent macro to InstrProfilingPort.h (NFC)Xinliang David Li2015-12-102-5/+9
| | | | llvm-svn: 255285
* [PGO] Header file cleanup (NFC)Xinliang David Li2015-12-102-41/+55
| | | | | | | | | InstrProfiling.h file declares profile runtime public APIs. It has become a dumping place for many different things, which needs cleanups. In this change, core type declarations and portability macros are moved to a new file InstrProfilingPort.h. llvm-svn: 255270
* [PGO] use COMPILER_RT_HAS_ATOMTICS macroXinliang David Li2015-12-101-4/+4
| | | | llvm-svn: 255266
* [PGO] Add cmake check to determine atomics op availabilityXinliang David Li2015-12-091-0/+30
| | | | | | | | | This allows the profile runtime to pick the right impl for cmp&swap for a given target. Differential Revision: http://reviews.llvm.org/D15248 llvm-svn: 255173
* Fix typoXinliang David Li2015-12-081-1/+1
| | | | llvm-svn: 255068
* [PGO] Stop leaking libc function to buffer API implXinliang David Li2015-12-073-4/+9
| | | | llvm-svn: 254943
* Use macro for common code pattern (NFC)Xinliang David Li2015-12-051-9/+15
| | | | llvm-svn: 254831
* Move macro defs closer (NFC)Xinliang David Li2015-12-041-4/+5
| | | | llvm-svn: 254761
* [PGO] Fix mips test failure with new test caseXinliang David Li2015-12-041-4/+19
| | | | | | | | | | cmp&swap is not well supported -- the new test case triggers some assembler error. This is a partial fix to the general problem (lack of atomics operation support for certain targets). llvm-svn: 254701
* [PGO] Unify VP data format between raw and indexed profile (runtime)Xinliang David Li2015-12-041-59/+116
| | | | | | | | | | With the latest refactoring and code sharing patches landed, it is possible to unify the value profile implementation between raw and indexed profile. This is part in prfofile runtime. Differential Revision: http://reviews.llvm.org/D15057 llvm-svn: 254678
* Don't shadow a variable in the outer scope. Use canonical form of theJoerg Sonnenberger2015-12-041-3/+3
| | | | | | array size idiom. llvm-svn: 254673
* [PGO] Introduce error report macro in profile-rtXinliang David Li2015-12-032-3/+9
| | | | | | Also added a test case for runtime error reporting. llvm-svn: 254625
* Sync up with master fileXinliang David Li2015-12-021-3/+7
| | | | llvm-svn: 254552
* sync up with master fileXinliang David Li2015-11-291-10/+22
| | | | llvm-svn: 254245
* Sync up template file with masterXinliang David Li2015-11-281-0/+461
| | | | llvm-svn: 254236
* Sync up with master InstrProfData.incXinliang David Li2015-11-261-1/+1
| | | | llvm-svn: 254113
* sync up InstrProfData.inc with masterXinliang David Li2015-11-241-5/+3
| | | | llvm-svn: 253943
* [PGO] sync up target instrument decl between runtime and llvm (NFC)Xinliang David Li2015-11-231-2/+6
| | | | llvm-svn: 253911
* [PGO] Unify section name, section symbol definitions (Darwin)Xinliang David Li2015-11-231-6/+10
| | | | | | | Replace hard-coded references to names to key section and section symbols with common macro definitions. llvm-svn: 253907
* [PGO] Unify section name, section symbol definitions (Linux)Xinliang David Li2015-11-231-15/+26
| | | | | | | Replace hard-coded references to names to key section and section symbols with common macro definitions. llvm-svn: 253897
* [PGO] Unify raw profile header definitionXinliang David Li2015-11-232-20/+5
| | | | | | | Replace duplicate definition raw header with common definition in InstrProfData.inc. llvm-svn: 253896
* [PGO] Use the alignment macro newly introduced (NFC)Xinliang David Li2015-11-231-1/+1
| | | | llvm-svn: 253895
* Sync up template file with master (NFC)Xinliang David Li2015-11-231-1/+3
| | | | llvm-svn: 253894
* [PGO] Unify per-function control data definitionXinliang David Li2015-11-231-8/+2
| | | | | | | Replace duplicate definition per-func profile control data with common definition in InstrProfData.inc. llvm-svn: 253891
* [PGO] Use common definition of value profile kindXinliang David Li2015-11-231-3/+2
| | | | | | | Replace duplicate definition value profile kind definitions with common definition in InstrProfData.inc. llvm-svn: 253890
* [PGO] Use common definition of raw magic and versionXinliang David Li2015-11-231-15/+3
| | | | | | | - Replace duplicate definition and use of magic in profile runtime - Replace hard coded version reference in profile runtime llvm-svn: 253885
* [PGO] Start use InstrProf template file in compiler-rt/lib/profileXinliang David Li2015-11-232-22/+14
| | | | | | | - Replace use of __llvm_profile_value_data with common data structure. - Remve duplicate InstrProfValueNode llvm-svn: 253883
* Sync up InstrProfData.inc with masterXinliang David Li2015-11-231-2/+2
| | | | llvm-svn: 253881
* [PGO] Make InstrProfData.inc available to compiler-rt.Xinliang David Li2015-11-231-0/+257
| | | | | | This will enable a series of cleanup/refactoring. llvm-svn: 253852
* Fix a bug introduced in cleanupXinliang David Li2015-11-231-1/+1
| | | | llvm-svn: 253847
* [PGO] Compiler-rt cleanup -- introduces macros for various macrosXinliang David Li2015-11-239-88/+75
| | | | | | | This makes code more readable and be made more portable in the future. There is no functional change. llvm-svn: 253845
* Fix -Wpointer-sign warningXinliang David Li2015-11-212-6/+6
| | | | llvm-svn: 253770
* [PGO] Implement a more robust/readable Writer callback interfaceXinliang David Li2015-11-214-34/+54
| | | | | | | | | | | | (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
* [PGO] Fix buildbot failure on FreeBSD (when building __x86_64__ lib)Xinliang David Li2015-11-201-0/+7
| | | | | | | | There seems to be a problem in system header (stdint.h) of FreeBSD where uint8_t nor uint16_t are defined. Explicitly define the key types as done for FreeBSD i386. llvm-svn: 253703
* [PGO] Profile runtime name cleanupsXinliang David Li2015-11-203-44/+48
| | | | | | | | | | | | | Value profile enumerator change to match LLVM code ProfData new member field name change to match LLVM code ProfData member type change to match LLVM code Do not use lower case for types that are internal to implementation (not exposed to APIs) There is no functional change. This is a preparation patch to enable more code sharing in follow up patches Differential Revision: http://reviews.llvm.org/D14841 llvm-svn: 253700
* Speculatively fix MIPS build bot failuresXinliang David Li2015-11-201-0/+9
| | | | | | | | MIPS build bots failed due to lack of 64bit atomic operations. The fix is to disable VP for MIPS target until a better solution is found. llvm-svn: 253687
* Speculativley try to fix FreeBSD buildbots, which apparently cannot use stdint.hReid Kleckner2015-11-201-0/+2
| | | | llvm-svn: 253681
* [PGO] Minor cleanups (from review feedback)Xinliang David Li2015-11-194-18/+19
| | | | | | | | 1. fix naming problem of file/buffer writer 2. change BufferOrFile to WriterCtx 3. move writer and writerctx together llvm-svn: 253545
* Fix format in comments.Xinliang David Li2015-11-181-9/+12
| | | | llvm-svn: 253510
* [PGO] Minor cleanups (formating, comments etc) (NFC)Xinliang David Li2015-11-182-47/+61
| | | | | | | | | 1. Added missing public API decl in InstrProfiling.h 2. Clang formatting fix 3. Added more comments for new VP code 4. refactor the VP allocation code to make it more readable. llvm-svn: 253508
* Fix format of previous patch (NFC)Xinliang David Li2015-11-183-17/+19
| | | | llvm-svn: 253503
* [PGO] Refactor File and Buffer API profile writing codeXinliang David Li2015-11-185-112/+120
| | | | | | | | | With this change, Buffer API and File API implementations are unified. Differential Revision: http://reviews.llvm.org/D14692 llvm-svn: 253500
* Fix for loop initial decl used outside c99 mode errorXinliang David Li2015-11-181-9/+15
| | | | llvm-svn: 253496
OpenPOWER on IntegriCloud