summaryrefslogtreecommitdiffstats
path: root/lldb/tools/lldb-perf
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fixed the README to match the current code.Greg Clayton2013-03-181-56/+43
| | | | llvm-svn: 177346
* Add a comment about how to add a target for a test case.Jim Ingham2013-03-181-0/+2
| | | | llvm-svn: 177343
* Move the performance test cases into their own project.Jim Ingham2013-03-181-0/+727
| | | | llvm-svn: 177341
* Code cleanup:Greg Clayton2013-03-1814-184/+230
| | | | | | | | | | - don't use preprocessor macros - use switch statements - don't put anything in the lldb namespace, use "lldb_perf" namespace. - Pass the action struct into each TestStep() for each step fill in - Modify the ActionWanted class to have accessors to make the continue, next, finish, kill instead of using preproc macros llvm-svn: 177332
* Make a README file with an introduction and basic directions for the ↵Enrico Granata2013-03-141-0/+264
| | | | | | lldb-perf infrastructure llvm-svn: 177109
* <rdar://problem/13228487>Enrico Granata2013-03-1410-24/+416
| | | | | | | A test case for the performance of some LLDB formatters Changes and improvements to the testing infrastructure itself llvm-svn: 177100
OpenPOWER on IntegriCloud