summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/profile/Linux
Commit message (Collapse)AuthorAgeFilesLines
* compiler-rt: Rename remaining cc files in test/profile to cppNico Weber2019-08-051-3/+3
| | | | | | See r367803 and similar other changes. llvm-svn: 367858
* [compiler-rt] Rename lit.*.cfg.* -> lit.*.cfg.py.*Reid Kleckner2019-06-271-0/+0
| | | | | | | | | | | | | These lit configuration files are really Python source code. Using the .py file extension helps editors and tools use the correct language mode. LLVM and Clang already use this convention for lit configuration, this change simply applies it to all of compiler-rt. Reviewers: vitalybuka, dberris Differential Revision: https://reviews.llvm.org/D63658 llvm-svn: 364591
* Fix tests after r357452Hans Wennborg2019-04-022-4/+4
| | | | llvm-svn: 357462
* Set hidden attribute on lprofMergeValueProfDataAna Pazos2019-02-141-0/+6
| | | | | | | | | | | | | | | | | | | | | Summary: The changes in https://reviews.llvm.org/D44847 cause load time failure due to lprofMergeValueProfData in Android libs enabled with profile generation: "dlopen failed: cannot locate symbol "lprofMergeValueProfData" referenced by..." Marking lprofMergeValueProfData as hidden so the correct in-module definition is picked by the linker. Reviewers: davidxl Reviewed By: davidxl Subscribers: efriedma, xur, davidxl, llvm-commits Differential Revision: https://reviews.llvm.org/D55893 llvm-svn: 354064
* [profile] Move newly added test to the supported platformRong Xu2018-04-021-0/+79
| | | | | | Move test/profile/instrprof-value-merge.c from r328987 to Linux directory. llvm-svn: 329016
* Update test counter_promo_nest.c to meet llvm changeSerguei Katkov2018-02-081-0/+3
| | | | | | | | | | | | | | | | | The test expects to see the pattern "load add store" twice in a row. However the test contains actually several instances of this pattern. Currently the first pattern appears in the output twice. But after LLVM change https://reviews.llvm.org/D42691 some addtional modification is done and one of another pattern has been hoisted in function entry block. As a result we have another order of meeting this pattern. The test is updated to meet this change. llvm-svn: 324571
* [PGO] Test case changes for D41059Xinliang David Li2017-12-181-4/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D41059 llvm-svn: 320999
* [ubsan] Re-commit: lit changes for lld testing, future lto testing.Roman Lebedev2017-12-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: As discussed in https://github.com/google/oss-fuzz/issues/933, it would be really awesome to be able to use ThinLTO for fuzzing. However, as @kcc has pointed out, it is currently undefined (untested) whether the sanitizers actually function properly with LLD and/or LTO. This patch is inspired by the cfi test, which already do test with LTO (and/or LLD), since LTO is required for CFI to function. I started with UBSan, because it's cmakelists / lit.* files appeared to be the cleanest. This patch adds the infrastructure to easily add LLD and/or LTO sub-variants of the existing lit test configurations. Also, this patch adds the LLD flavor, that explicitly does use LLD to link. The check-ubsan does pass on my machine. And to minimize the [initial] potential buildbot breakage i have put some restrictions on this flavour. Please review carefully, i have not worked with lit/sanitizer tests before. The original attempt, r319525 was reverted in r319526 due to the failures in compiler-rt standalone builds. Reviewers: eugenis, vitalybuka Reviewed By: eugenis Subscribers: #sanitizers, pcc, kubamracek, mgorny, llvm-commits, mehdi_amini, inglorion, kcc Differential Revision: https://reviews.llvm.org/D39508 llvm-svn: 319575
* [profile] Update Linux-only tests after r313597Vedant Kumar2017-09-191-1/+1
| | | | | | | Addresses bot failure: http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/9803 llvm-svn: 313602
* [llvm-cov] Fix compiler-rt tests failing in build bots after rL310827.Sean Eveson2017-08-144-6/+6
| | | | | | | The compiler-rt tests used llvm-cov with -filename-equivelence, which was replaced with the new option -path-equivalence in rL310827. llvm-svn: 310836
* coverage: Update tests to reflect changes from r310012Vedant Kumar2017-08-041-1/+1
| | | | llvm-svn: 310015
* Fix broken testXinliang David Li2017-07-131-3/+0
| | | | llvm-svn: 307869
* [PGO] Add a test for 2-deep loop nestXinliang David Li2017-07-121-0/+51
| | | | llvm-svn: 307864
* [PGO] Implementate profile counter regiser promotion (test case)Xinliang David Li2017-06-252-0/+114
| | | | | | Differential Revision: http://reviews.llvm.org/D34085 llvm-svn: 306232
* Minor clean up of profile rt testsXinliang David Li2017-06-092-3/+3
| | | | llvm-svn: 305113
* Revert "[PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write"Renato Golin2017-02-201-36/+0
| | | | | | | | Revert "[PGO] remove unintended debug trace. NFC" This reverts commit r295469, r295364, as they are unstable on ARM/AArch64. llvm-svn: 295664
* [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-writeRong Xu2017-02-161-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We found a nondeterministic behavior when doing online profile merging for multi-process applications. The application forks a sub-process and sub-process sets to get SIGKILL when the parent process exits, The first process gets the lock, and dumps the profile. The second one will mmap the file, do the merge and write out the file. Note that before the merged write, we truncate the profile. Depending on the timing, the child process might be terminated abnormally when the parent exits first. If this happens: (1) before the truncation, we will get the profile for the main process (2) after the truncation, and before write-out the profile, we will get 0 size profile. (3) after the merged write, we get merged profile. This patch temporarily suspend the SIGKILL for PR_SET_PDEATHSIG before profile-write and restore it after the write. This patch only applies to Linux system. Reviewers: davidxl Reviewed By: davidxl Subscribers: xur, llvm-commits Differential Revision: https://reviews.llvm.org/D29954 llvm-svn: 295364
* [PGO] Delay profile dir creation until writeXinliang David Li2017-02-141-0/+13
| | | | | | Differential Revision: http://reviews.llvm.org/D29960 llvm-svn: 295108
* [PGO] Update the test cases after r291588.Rong Xu2017-01-101-3/+3
| | | | llvm-svn: 291594
* compiler-rt/test/profile/Linux/lit.local.cfg: [Py3] Use text mode ↵NAKAMURA Takumi2016-12-021-0/+1
| | | | | | (universal_newlines=True). llvm-svn: 288490
* [profile] Mark lprofCurFilename as COMPILER_RT_WEAKVedant Kumar2016-10-181-8/+0
| | | | | | | | | | | | | | | | | | This makes __llvm_profile_set_filename() work across dylib boundaries on Darwin. This functionality was originally meant to work on all platforms, but was moved to a Linux-only directory with r272404. The root cause of the test failure on Darwin was that lprofCurFilename was not marked weak. Each dylib maintained its own copy of the variable due to the two-level namespace. Tested with check-profile (on Darwin). I don't expect this to regress other platforms. Differential Revision: https://reviews.llvm.org/D25707 llvm-svn: 284440
* Fix the following tests when running under cross-compilation:Chad Rosier2016-09-234-6/+6
| | | | | | | | | | | | | Profile-aarch64 :: Linux/comdat_rename.test Profile-aarch64 :: Linux/extern_template.test Profile-aarch64 :: Linux/instrprof-comdat.test Profile-aarch64 :: Linux/instrprof-cs.c The issue is that the created (aarch64) binaries were attempting to run natively instead of running through %run, which guarantees running in the proper environment if the compilation was configured correctly. llvm-svn: 282264
* Fix profile test assuming dumb compilerRenato Golin2016-09-011-1/+1
| | | | | | | | | Commit r280364 has introduced some call-graph optmisations making a profiler test "fail" due to not expecting the compiler to be "smart", and fold constants across functions. This commit works around the issue, leaving the origial semantics intact. llvm-svn: 280365
* [test] Update coverage tests to sync up with r278152Vedant Kumar2016-08-093-19/+19
| | | | | | | | | | This should fix the following bot failure: http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/6522 Patch by Ying Yi! llvm-svn: 278164
* [Profile] Add new test case to cover comdat renamingXinliang David Li2016-08-011-0/+6
| | | | | | | Test checks that context specific profiles for comdat functions are not lost. llvm-svn: 277381
* [Profile] Add a new test caseXinliang David Li2016-07-301-0/+35
| | | | | | | The end-end test checks that cs-profile counter update is obtained as expected. llvm-svn: 277276
* [libprofile] Define an expansion `%clang_profgen=`Sean Silva2016-06-121-1/+1
| | | | llvm-svn: 272498
* [profile] fix bot failure on darwinXinliang David Li2016-06-101-0/+8
| | | | | | | Profile setting accross shared lib is broken on darwin (to be investigated). Move the test to Linux only for now llvm-svn: 272404
* add -f to rm so the test passes the first time it's run the file file is not ↵David Blaikie2016-06-061-1/+1
| | | | | | | | present (otherwise it just keeps failing at the rm step and never passes... ) llvm-svn: 271959
* [profile] code cleanup /NFCXinliang David Li2016-06-061-11/+12
| | | | | | | Address review feedback for better readability. llvm-svn: 271922
* [profile] in-process mergeing support (part-2)Xinliang David Li2016-06-061-0/+16
| | | | | | | | | | | (Part-1 merging API is in profile runtime) This patch implements a portable file opening API with exclusive access for the process. In-process profile merge requires profile file update to be atomic/fully sychronized. llvm-svn: 271864
* Move test only for the relevant platformXinliang David Li2016-05-281-0/+8
| | | | llvm-svn: 271098
* [profile] Add a test to ensure runtime allocator is not invokedXinliang David Li2016-05-271-0/+6
| | | | llvm-svn: 271017
* [profile] initialize static pool properly Xinliang David Li2016-05-221-1/+1
| | | | | | | Remove dependency on runtime initializer to avoid issues related to initialization order. llvm-svn: 270371
* Make vp merge test more robustXinliang David Li2016-03-261-14/+17
| | | | llvm-svn: 264521
* [PGO] internal API name cleanups (for better consistency)Xinliang David Li2016-03-061-2/+2
| | | | llvm-svn: 262788
* [PGO] Add API for profile merge from bufferXinliang David Li2016-03-031-0/+110
| | | | | | Differential Revision: http://reviews.llvm.org/D17831 llvm-svn: 262644
* Test cleanupsXinliang David Li2016-02-282-5/+5
| | | | llvm-svn: 262162
* [PGO] add a test for available_externally functionsXinliang David Li2016-02-281-0/+29
| | | | llvm-svn: 262161
* minor test runline cleanupXinliang David Li2016-02-192-2/+2
| | | | llvm-svn: 261361
* Add test coverage for default linkerXinliang David Li2016-02-181-4/+11
| | | | llvm-svn: 261261
* Rollback 260394 -- 32bit test needs more config supportXinliang David Li2016-02-104-31/+1
| | | | llvm-svn: 260402
* Add tests for -m32Xinliang David Li2016-02-104-1/+31
| | | | llvm-svn: 260394
* [PGO] Simpflify test and increase coverageXinliang David Li2016-02-082-19/+20
| | | | llvm-svn: 260142
* Test update : tighten up checksXinliang David Li2016-02-072-6/+4
| | | | llvm-svn: 260052
* Revert 260050 -- new test case should not be includedXinliang David Li2016-02-073-46/+6
| | | | llvm-svn: 260051
* Test update : tighten up checksXinliang David Li2016-02-073-6/+46
| | | | llvm-svn: 260050
* Add coverage tests (defaulted constructors/destructor)Xinliang David Li2016-02-072-0/+59
| | | | llvm-svn: 260041
* Resubmit test case with more restrictionXinliang David Li2016-01-211-0/+6
| | | | | | | | The original submittion triggered a BFD linker bug (2.24) on Aarch64 only. Before the build bot is upgraded to more recent linker, restrict the test to be executed only with gold linker. llvm-svn: 258437
* [Coverage] add test cases for coverage testingXinliang David Li2016-01-142-0/+44
| | | | | | | 1. One test covering coverage-mapping interfaction with linker GC 2. one test covering coverage-mapping with shared libaries llvm-svn: 257782
OpenPOWER on IntegriCloud