summaryrefslogtreecommitdiffstats
path: root/lldb/tools/lldb-perf
Commit message (Collapse)AuthorAgeFilesLines
* Remove lldb-perfJonas Devlieghere2019-07-0825-4769/+0
| | | | | | | | | As discussed offline, this tool is no longer used or maintained, and doesn't provide the right abstraction for performance tracking in lldb. Differential revision: https://reviews.llvm.org/D64362 llvm-svn: 365391
* Delete unnecessary copy ctors/copy assignment operatorsFangrui Song2019-05-152-16/+0
| | | | | | It's the simplest and gives the cleanest semantics. llvm-svn: 360762
* Replace 'ap' with 'up' suffix in variable names. (NFC)Jonas Devlieghere2019-02-133-32/+32
| | | | | | | | | | | | | | | | | The `ap` suffix is a remnant of lldb's former use of auto pointers, before they got deprecated. Although all their uses were replaced by unique pointers, some variables still carried the suffix. In r353795 I removed another auto_ptr remnant, namely redundant calls to ::get for unique_pointers. Jim justly noted that this is a good opportunity to clean up the variable names as well. I went over all the changes to ensure my find-and-replace didn't have any undesired side-effects. I hope I didn't miss any, but if you end up at this commit doing a git blame on a weirdly named variable, please know that the change was unintentional. llvm-svn: 353912
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-1919-76/+57
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* Make lldb -Werror clean for -Wstring-conversionDavid Blaikie2017-01-061-4/+2
| | | | | | | | | Also found/fixed one bug identified by this warning in RenderScriptx86ABIFixups.cpp where a string literal was being used in an effort to provide a name for an instruction/register, but was instead being passed as the bool 'isVolatile' parameter. llvm-svn: 291198
* *** This commit represents a complete reformatting of the LLDB source codeKate Stone2016-09-0622-3200/+2555
| | | | | | | | | | | | | | | | | | | | | | | *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications: Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository): find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ; The version of clang-format used was 3.9.0, and autopep8 was 1.2.4. Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV. llvm-svn: 280751
* Cleanup how we listen for process events by using the broadcaster class name ↵Greg Clayton2014-08-181-3/+1
| | | | | | instead of having to catch each process instance as it comes alive. llvm-svn: 215937
* lldb: remove adhoc implementation of array_sizeofSaleem Abdulrasool2014-06-271-1/+2
| | | | | | | | Replace adhoc inline implementation of llvm::array_lengthof in favour of the implementation in LLVM. This is simply a cleanup change, no functional change intended. llvm-svn: 211868
* Fixed the lldb_perf_clang.cpp test case to be able to run correctly.Greg Clayton2014-02-273-94/+168
| | | | | | | | | 1 - There were some outdated options being passed to clang 2 - There were some bad paths being passed as options 3 - The path to the main.cpp file ("/tmp/main.cpp") was wrong when the tests were being run, now we create a temp file 4 - Added a new ActionType::eNone to do nothing (no continue, step, or kill) llvm-svn: 202431
* <rdar://problem/13732521>Enrico Granata2013-05-021-7/+7
| | | | | | Updated the logic for the Sketch test case llvm-svn: 180966
* Proper English not optionalEnrico Granata2013-04-221-3/+3
| | | | llvm-svn: 180053
* After discussing with Chris Lattner, we require C++11, so lets get rid of ↵Greg Clayton2013-04-184-9/+9
| | | | | | the macros and just use C++11. llvm-svn: 179805
* Missed some cases when switching over to using our STD_UNIQUE_PTR macros.Greg Clayton2013-04-184-10/+12
| | | | llvm-svn: 179796
* New CallNext action for the test case that causes the next action in the ↵Enrico Granata2013-04-152-0/+12
| | | | | | sequence to be called right away llvm-svn: 179578
* More updates to test casesEnrico Granata2013-04-153-6/+11
| | | | llvm-svn: 179560
* Sketch test now runs 10 timesEnrico Granata2013-04-152-33/+17
| | | | | | Data formatters test outputs stddev llvm-svn: 179559
* Enabling test case to write the average+stddev pair to the resultsEnrico Granata2013-04-156-25/+68
| | | | | | | | | | | | | | | The sketch test case writes avg+stddev for all its metrics: <key>fetch-frames</key> <dict> <key>description</key> <string>time to dump backtrace for every frame in every thread</string> <key>stddev</key> <real>0.006270938361432314</real> <key>value</key> <real>0.011568079851851851</real> </dict> llvm-svn: 179550
* - Adding a relaunch feature to the performance tester: you can use the ↵Enrico Granata2013-04-153-11/+50
| | | | | | | | relaunch if you want to measure multiple runs of your app keeping the same metrics alive. New arguments must be supplied - and the step counter will not be reset (this makes it easy to avoid endless loops) - Having the Sketch test case relaunch itself llvm-svn: 179548
* Sketch test case improvements:Enrico Granata2013-04-121-180/+118
| | | | | | | - use the TestCase option parsing - dump output to stdout when no file is provided llvm-svn: 179415
* Updated the line on which to break for the formatters testEnrico Granata2013-04-111-1/+1
| | | | | | Moving over to source-regex might be a good idea, but it’s not what we really want to test. Ideally, we would set a regex breakpoint to find the right line, then delete it and set one by file and line with the right line info from before. llvm-svn: 179246
* <rdar://problem/13457391>Greg Clayton2013-04-043-3/+3
| | | | | | LLDB now can use a single dash for all long options for all commands form the command line and from the command interpreter. This involved just switching all calls from getopt_long() to getopt_long_only(). llvm-svn: 178789
* Enabling metrics to calculate (and dump) their standard deviationEnrico Granata2013-04-025-7/+72
| | | | llvm-svn: 178580
* Misc fixes:Enrico Granata2013-04-023-4/+22
| | | | | | | | | - make an overload of Launch() that takes an init list of const char* if all you need to tweak in the launch info are the command-line arguments - make Run() return an int that you can use as an exit-code - make dynamic values work properly when recursing in FetchVariables() - make the po output more obvious in verbose mode llvm-svn: 178578
* Integrating option parsing in TestCase for added convenienceEnrico Granata2013-04-016-6/+87
| | | | | | | | | To hook it up to individual test cases: - define GetLongOptions() in your test case class to return something other than NULL (hopefully an array of options :-) - implement ParseOption() to check for the short option char and do the right thing - return true at the end if you want more options to come your way or false if you don’t - make sure that your Setup() call takes int& and char**& so that optind post-processing can happen - and call TestCase::Setup from your setup llvm-svn: 178482
* Proper option parser for the Sketch test caseEnrico Granata2013-04-011-6/+220
| | | | llvm-svn: 178477
* <rdar://problem/13521159>Greg Clayton2013-03-271-1/+1
| | | | | | | | LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down. All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down. llvm-svn: 178191
* <rdar://problem/13327940>Greg Clayton2013-03-271-2/+2
| | | | | | Cleaned up some paths. llvm-svn: 178177
* Added a source file needed for clang to compile in the lldb_perf_clang test.Greg Clayton2013-03-271-0/+24
| | | | llvm-svn: 178176
* <rdar://problem/13327940>Greg Clayton2013-03-271-12/+94
| | | | | | Enhance automated testing to include evaluating function calls. llvm-svn: 178175
* Prune more stuff out of the build and source folders after building clang.Greg Clayton2013-03-271-1/+3
| | | | llvm-svn: 178112
* Cleaned up how LLDB.framework was being linked to and also how the target ↵Greg Clayton2013-03-261-6/+38
| | | | | | dependencies. llvm-svn: 178085
* Trim the output build folder a bit to it isn't so large.Greg Clayton2013-03-261-1/+6
| | | | llvm-svn: 178070
* Change the stepping test to output "total time" for the step as well.Jim Ingham2013-03-262-12/+18
| | | | llvm-svn: 178043
* Make the stepping perf test case actually work.Jim Ingham2013-03-263-39/+308
| | | | llvm-svn: 177964
* Added better measurements to test:Greg Clayton2013-03-231-28/+46
| | | | | | | | | | - memory delta and time for: target create - memory delta and time for: setting breakpoint at main by name - time to launch and hit bp at main - overall memory of target create + bp main + run to main - ovarall time of target create + bp main + run to main llvm-svn: 177808
* Make sure the "Release" builds link against the "Release" LLDB.framework and ↵Greg Clayton2013-03-233-21/+30
| | | | | | also output the results to /dev/stdout when no outfile is supplied. llvm-svn: 177791
* Added option parsing to the lldb_perf_clang performance test.Greg Clayton2013-03-221-9/+225
| | | | llvm-svn: 177759
* More cleanup to remove the CoreFoundation classes out of mainstream code ↵Greg Clayton2013-03-225-67/+2
| | | | | | (CFCMutableDictionary, CFCMutableArray, CFCString, etc). Now it is only used in the Results.cpp file for Apple builds only. llvm-svn: 177697
* Much more cleanup on the performance testing infrastructure:Greg Clayton2013-03-2219-371/+1183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added new abtract Results class to keep CoreFoundation out of the tests. There are many subclasses for different settings: Results::Result::Dictionary Results::Result::Array Results::Result::Unsigned Results::Result::Double Results::Result::String - Gauge<T> can now write themselves out via a templatized write to results function: template <class T> Results::ResultSP GetResult (const char *description, T value); - There are four specializations of this so far: template <> Results::ResultSP GetResult (const char *description, double value); template <> Results::ResultSP GetResult (const char *description, uint64_t value); template <> Results::ResultSP GetResult (const char *description, std::string value); template <> Results::ResultSP GetResult (const char *description, MemoryStats value); - Don't emit the virtual memory reading from the task info call as it really doesn't mean much as it includes way too much (shared cache + other stuff we don't have control over) - Fixed other test cases to build correctly and use the new classes llvm-svn: 177696
* The outline of the stepping perf test case, doesn't do anything yet.Jim Ingham2013-03-213-17/+313
| | | | llvm-svn: 177646
* Add correct file headers to all source files.Greg Clayton2013-03-2115-56/+80
| | | | llvm-svn: 177625
* Modify code to adhere to LLDB coding conventions.Greg Clayton2013-03-2110-166/+192
| | | | llvm-svn: 177623
* Added a lldb-perf test case that will be used to time various aspects of ↵Greg Clayton2013-03-213-0/+269
| | | | | | | | debugging clang with LLDB. This test case will measure memory usage and expression timings in frame zero and at higher frames. llvm-svn: 177617
* Making a manual mode of operation for measurements, where you can manually ↵Enrico Granata2013-03-202-10/+54
| | | | | | | | | | call start() and stop() instead of using the function-call syntax This is especially useful to take measurements that span multiple test steps, or where you need to have different operations fall under the same measurement An example of use is in the formatters perf test case llvm-svn: 177597
* Making the test step count a member variable so that it can be accessed easilyEnrico Granata2013-03-202-8/+16
| | | | llvm-svn: 177594
* Renaming perf. main files from main.cpp to something meaningfulEnrico Granata2013-03-203-8/+8
| | | | llvm-svn: 177587
* Making MemoryGauge work by fixing a Mach API call mistake - saving (and ↵Enrico Granata2013-03-206-11/+167
| | | | | | dumping) more information out of the task_info call llvm-svn: 177580
* Update Sketch test case to capture this and use accessors for debugger, ↵Greg Clayton2013-03-192-36/+64
| | | | | | target, process and thread. llvm-svn: 177425
* More cleanup on the lldb-perf code:Greg Clayton2013-03-197-191/+217
| | | | | | | | | | | | | | | - TestCase.m_thread is now filled in with the first thread that has a valid stop reason. This eliminates the need for the SelectMyThread() functions. - The first thread that stops for a reason is also set as the selected thread in the process in case any command line commands are run. - Changed launch over to take a SBLaunchInfo parameter so that the launch function doesn't keep getting new arguments as they are needed. - TestCase::Setup() and TestCase::Launch(SBLaunchInfo) now return bool to indicate success of setup and launch. - ActionWanted::Next(SBThread) was renamed to ActionWanted::StepOver(SBThread) - ActionWanted::Finish(SBThread) was renamed to ActionWanted::StepOut(SBThread) llvm-svn: 177376
* <rdar://problem/13443931>Greg Clayton2013-03-191-6/+117
| | | | | | | | Fixed a crasher in the SourceManager where it wasn't checking the m_target member variable for NULL. In doing this fix, I hardened this class to have weak pointers to the debugger and target in case they do go away. I also changed SBSourceManager to hold onto weak pointers to the debugger and target so they don't keep objects alive by holding a strong reference to them. llvm-svn: 177365
OpenPOWER on IntegriCloud