summaryrefslogtreecommitdiffstats
path: root/clang/test/Profile
Commit message (Collapse)AuthorAgeFilesLines
...
* [PGO] Fix issue: explicitly defaulted assignop is not profiledXinliang David Li2016-02-091-0/+32
| | | | | | | Differential Revision: http://reviews.llvm.org/D16947 llvm-svn: 260270
* [PGO] Cover more cases of implicitly generated C++ methodsXinliang David Li2016-02-081-4/+38
| | | | llvm-svn: 260161
* Simplify test casesXinliang David Li2016-02-082-22/+8
| | | | llvm-svn: 260126
* Fix test case problem(caused by clang-formatXinliang David Li2016-02-072-12/+4
| | | | llvm-svn: 260022
* [PGO] add profile/coverage test cases for defaulted ctor/ctorsXinliang David Li2016-02-072-0/+88
| | | | llvm-svn: 260021
* [PGO] cc1 option name change for profile instrumentationRong Xu2016-02-0415-20/+25
| | | | | | | | | | | | This patch changes cc1 option -fprofile-instr-generate to an enum option -fprofile-instrument={clang|none}. It also changes cc1 options -fprofile-instr-generate= to -fprofile-instrument-path=. The driver level option -fprofile-instr-generate and -fprofile-instr-generate= remain intact. This change will pave the way to integrate new PGO instrumentation in IR level. Review: http://reviews.llvm.org/D16730 llvm-svn: 259811
* [PGO] test case cleanupsXinliang David Li2016-01-284-15/+21
| | | | | | | 1. Make test case more focused and robust by focusing on what to be tested (linkage, icall) -- make it easier to validate 2. Testing linkages of data and counter variables instead of names. Counters and data are more relavant to be tested. llvm-svn: 259067
* Clang changes for value profilingBetul Buyukkurt2016-01-231-0/+15
| | | | | | Differential Revision: http://reviews.llvm.org/D8940 llvm-svn: 258650
* Remove setting of inlinehint and cold attributes based on profile dataEaswaran Raman2016-01-042-50/+2
| | | | | | | | | | | NFC. These hints are only used for inlining and the inliner now uses the same criteria to identify hot and cold callees and set appropriate thresholds without relying on these hints. Hence this removed code is superfluous. Differential Revision: http://reviews.llvm.org/D15726 llvm-svn: 256793
* Attach maximum function count to Module when using PGO mode.Easwaran Raman2015-12-172-0/+50
| | | | | | | | This sets the maximum entry count among all functions in the program to the module using module flags. This allows the optimizer to use this information. Differential Revision: http://reviews.llvm.org/D15163 llvm-svn: 255918
* [PGO] make profile prefix even shorter and more readableXinliang David Li2015-12-1515-60/+60
| | | | llvm-svn: 255587
* [PGO] Shorten profile symbol prefixesXinliang David Li2015-12-1415-60/+60
| | | | | | | | | | (test case update) Profile symbols have long prefixes which waste space and creating pressure for linker. This patch shortens the prefixes to minimal length without losing verbosity. Differential Revision: http://reviews.llvm.org/D15503 llvm-svn: 255576
* Revert r255445: adding a new test caseXinliang David Li2015-12-131-11/+0
| | | | llvm-svn: 255447
* Resubmit new test case after adding more constraintXinliang David Li2015-12-131-0/+11
| | | | llvm-svn: 255445
* Revert 255436 : remove test that needs to be refinedXinliang David Li2015-12-121-13/+0
| | | | llvm-svn: 255437
* [PGO] add a test case with -no-integrated-asXinliang David Li2015-12-121-0/+13
| | | | llvm-svn: 255436
* [PGO] Stop using invalid char in instr variable names.Xinliang David Li2015-12-125-7/+7
| | | | | | | (This is part-2 of the patch of r255434 -- fixing test cases, second try) llvm-svn: 255435
* [PGO] Revert r255366: solution incomplete, not handling lambda yetXinliang David Li2015-12-119-13/+13
| | | | llvm-svn: 255368
* [PGO] Stop using invalid char in instr variable names.Xinliang David Li2015-12-119-13/+13
| | | | | | | | | | | | | | | | (This is part-2 of the patch -- fixing test cases) Before the patch, -fprofile-instr-generate compile will fail if no integrated-as is specified when the file contains any static functions (the -S output is also invalid). This patch fixed the issue. With the change, the index format version will be bumped up by 1. Backward compatibility is preserved with this change. Differential Revision: http://reviews.llvm.org/D15243 llvm-svn: 255366
* [PGO] Add a test case to cover version-3 formatXinliang David Li2015-12-112-1/+1
| | | | llvm-svn: 255326
* [PGO] Instrument only base constructors and destructors.Serge Pavlov2015-12-062-10/+49
| | | | | | | | | | | | | | | | Constructors and destructors may be represented by several functions in IR. Only base structors correspond to source code, others are small pieces of code and eventually call the base variant. In this case instrumentation of non-base structors has little sense, this fix remove it. Now profile data of a declaration corresponds to exactly one function in IR, it agrees with the current logic of the profile data loading. This change fixes PR24996. Differential Revision: http://reviews.llvm.org/D15158 llvm-svn: 254876
* [PGO] Test update for revision 253484.Betul Buyukkurt2015-11-181-1/+1
| | | | llvm-svn: 253485
* Fix a soon to be invalid testXinliang David Li2015-10-291-1/+0
| | | | | | | Remove a check that won't be valid when LLVM stops emitting runtime hook user function. llvm-svn: 251611
* Tweak a couple of -fprofile tests in clang/test to accept backslash in path.NAKAMURA Takumi2015-07-101-1/+1
| | | | llvm-svn: 241903
* Remove test that tests referring to the current working directory. YouDaniel Jasper2015-07-101-5/+0
| | | | | | | | | cannot assume that the current working directory is writable in all test environments. I don't know a better way to write this test of hand, lets discuss. Possibly, a better option would be to put these together with other test testing the driver directly. llvm-svn: 241885
* Add GCC-compatible flags -fprofile-generate and -fprofile-use.Diego Novillo2015-07-092-0/+53
| | | | | | | | | | | | | | | | | | This patch adds support for specifying where the profile is emitted in a way similar to GCC. These flags are used to specify directories instead of filenames. When -fprofile-generate=DIR is used, the compiler will generate code to write to <DIR>/default.profraw. The patch also adds a couple of extensions: LLVM_PROFILE_FILE can still be used to override the directory and file name to use and -fprofile-use accepts both directories and filenames. To simplify the set of flags used in the backend, all the flags get canonicalized to -fprofile-instr-{generate,use} when passed to the backend. The decision to use a default name for the profile is done in the driver. llvm-svn: 241825
* Fix a couple of tests in clang/test to match "x86_thiscallcc" introduced in ↵NAKAMURA Takumi2015-06-301-2/+2
| | | | | | r240971. llvm-svn: 241047
* Account for calling convention specifiers in function definitions in IR test ↵David Blaikie2015-06-293-9/+9
| | | | | | | | | | | | | cases Several tests wouldn't pass when executed on an armv7a_pc_linux triple due to the non-default arm_aapcs calling convention produced on the function definitions in the IR output. Account for this with the application of a little regex. Patch by Ying Yi. llvm-svn: 240971
* Display profile file name when emitting a file not found diagnostic.Diego Novillo2015-06-251-1/+1
| | | | | | | | | When a profile file cannot be opened, we used to display just the error message but not the name of the profile the compiler was trying to open. This will become useful in the next set of patches that introduce GCC-compatible flags to specify profiles. llvm-svn: 240715
* Fix PPC failure. Adjust CHECK pattern.Diego Novillo2015-05-281-2/+2
| | | | llvm-svn: 238413
* Set function entry counts with -fprofile-instr-use.Diego Novillo2015-05-272-0/+29
| | | | | | This generates function entry counts from instrumentation profiles. llvm-svn: 238360
* InstrProf: Change this triple back to %itanium_abi_tripleJustin Bogner2015-05-201-1/+1
| | | | | | | In my rush to fix the linux bots in r237805, I accidentally committed a change to the triple. Revert that part. llvm-svn: 237806
* InstrProf: Remove darwin-specific section names from this testJustin Bogner2015-05-201-5/+5
| | | | llvm-svn: 237805
* InstrProf: Increment the profile counter for all types of destructorJustin Bogner2015-05-201-0/+30
| | | | | | | | | | | | -fprofile-instr-generate does not emit counter increment intrinsics for Dtor_Deleting and Dtor_Complete destructors with assigned counters. This causes unnecessary [-Wprofile-instr-out-of-date] warnings during profile-use runs even if the source has never been modified since profile collection. Patch by Betul Buyukkurt. Thanks! llvm-svn: 237804
* InstrProf: Update name of compiler-rt routine for setting filenameJustin Bogner2015-05-121-2/+2
| | | | | | Patch by Teresa Johnson. llvm-svn: 237187
* Changed renaming of local symbols by inserting a dot vefore the numeric suffixSunil Srivastava2015-05-122-3/+3
| | | | | | | details in http://reviews.llvm.org/D9483 goes with llvm checkin r237150 llvm-svn: 237151
* InstrProf: Add a couple of checks to this testJustin Bogner2015-05-011-0/+15
| | | | | | | "Don't crash" tests are silly, we might as well check that the counters are consistent here. llvm-svn: 236361
* InstrProf: Support for setting profile output from command lineJustin Bogner2015-04-301-0/+10
| | | | | | | | | | | | | | | | This change is the third of 3 patches to add support for specifying 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. This patch adds the necessary support to the clang frontend, and adds a new test. The compiler-rt and llvm parts are r236055 and r236288, respectively. Patch by Teresa Johnson. Thanks! llvm-svn: 236289
* InstrProf: Fix handling of profile counters in the body of range based forJustin Bogner2015-04-302-0/+57
| | | | | | | | | We were assigning the counter for the body of the loop to the loop variable initialization for some reason here, but our tests completely lacked coverage for range-for loops. This fixes that and makes the logic generally more similar to the logic for a regular for. llvm-svn: 236277
* InstrProf: Match a bit less strictly - some targets may add signextJustin Bogner2015-04-281-2/+2
| | | | | | | | Notably, this bot didn't like it: http://lab.llvm.org:8011/builders/clang-cmake-mips/builds/5117 llvm-svn: 235968
* InstrProf: Mark code regions after throw expressions as unreachableJustin Bogner2015-04-282-2/+30
| | | | | | | We weren't setting regions as being unreachable after C++ throw expressions, leading to incorrect count propagations. llvm-svn: 235967
* Fix this test so it doesn't try to open a file to write to the source treeDavid Blaikie2015-04-061-1/+1
| | | | llvm-svn: 234173
* clang/test/Profile/profile-does-not-exist.c: Avoid checking a message line ↵NAKAMURA Takumi2015-04-061-1/+1
| | | | | | in the message catalog. llvm-svn: 234146
* Don't crash when passing a non-existent file to -fprofile-instr-use=.Nico Weber2015-04-061-0/+4
| | | | | | Fixes a regression from r229434. llvm-svn: 234141
* Re-land "MS ABI: lambda call operators are instance methods and should use ↵Reid Kleckner2015-04-011-2/+2
| | | | | | | | | | | | | thiscall" Update the test cases to pass when lambda call operators use thiscall. Update the lambda-to-block conversion operator to use the default free function calling convention instead of the call operator's convention. This reverts commit r233082 and re-instates r233023. llvm-svn: 233835
* InstrProf: Make profile variables private to reduce binary size overheadJustin Bogner2015-03-208-28/+28
| | | | | | | | | | | | When we instrument a program for profiling, we copy the linkage of an instrumented function so that our datastructures merge in the same way as the function. This avoids redundant copies for things like linkonce, but ends up emitting names we never need to reference for normal and internal symbols. Promoting internal and external linkage to private for these variables reduces the size overhead of profiling drastically. llvm-svn: 232799
* Test case updates for explicit type parameter to the gep operatorDavid Blaikie2015-03-131-1/+1
| | | | llvm-svn: 232187
* Add -frtti/-fexceptions to some more tests that assume they're onFilipe Cabecinhas2015-02-261-4/+4
| | | | llvm-svn: 230656
* InstrProf: Simplify a couple of tests after r230383Justin Bogner2015-02-242-41/+9
| | | | | | | | | Most of the checks in these two tests were actually testing the behaviour of the instrprof LLVM pass. Now that we're testing that specifically in LLVM's test suite, it's better if we only test the frontend's behaviour here. llvm-svn: 230387
* InstrProf: Don't emit counter increments in dead codeJustin Bogner2015-01-091-0/+15
| | | | | | | | | We were previously emitting counter increments even if we didn't have an insertion point, which would result in a CallInst with no parent. This leads to a crash, as in pr22166, if we try to do GlobalDCE. llvm-svn: 225495
OpenPOWER on IntegriCloud