- Mar 09, 2012
-
-
Ahmed Charles authored
llvm-svn: 152390
-
Michael J. Spencer authored
llvm-svn: 152389
-
Michael J. Spencer authored
llvm-svn: 152388
-
Michael J. Spencer authored
llvm-svn: 152387
-
Michael J. Spencer authored
llvm-svn: 152386
-
Greg Clayton authored
llvm-svn: 152384
-
Greg Clayton authored
llvm-svn: 152383
-
Andrew Trick authored
llvm-svn: 152382
-
rdar://problem/11016907Greg Clayton authored
Get function boundaries from the LC_FUNCTION_STARTS load command. This helps to determine symbol sizes and also allows us to be able to debug stripped binaries. If you have a stack backtrace that goes through a function that has been stripped from the symbol table, the variables for any functions above that stack frame will most likely be incorrect. It can also affect our ability to step in/out/through of a function. llvm-svn: 152381
-
rdar://problem/11016922Greg Clayton authored
Don't show variable values in Xcode when they are out of scope. This allows Xcode to step a lot faster when there are many variables in the variables view. llvm-svn: 152380
-
Greg Clayton authored
llvm-svn: 152379
-
John McCall authored
llvm-svn: 152378
-
Daniel Dunbar authored
- On -emit-llvm-only of 403.gcc/combine.c, for example, we make 160k calls to getTypeInfo but only ever deal with 680 some distinct types. I saw these speedups (user time): 403.gcc/combine.c -- 3.1% OmniGroupFrameworks/NSBezierPath-OAExtensions.m -- 3.6% JavaScriptCore/Interpreter.cpp -- 1.4% which seems pretty sweet. I ran some histograms on those compiles and we end up doing a ton of getTypeInfo() on 'char' and 'int'. I tried splitting out a fast path for builtin types, but this wasn't a win. Still kinda seems like we could be doing better here. llvm-svn: 152377
-
Jim Ingham authored
<rdar://problem/10975912> llvm-svn: 152376
-
John McCall authored
type-analysis; otherwise, we just completely do the wrong thing for placeholders. llvm-svn: 152375
-
Andrew Trick authored
llvm-svn: 152374
-
Andrew Trick authored
llvm-svn: 152373
-
Eli Friedman authored
Make sure we update the static local decl address map when we are forced to rebuild a global because of the initializer. <rdar://problem/10957867>. llvm-svn: 152372
-
Enrico Granata authored
Changed ValueObject to use a dedicated ChildrenManager class to store its children, instead of an std::vector This solves an issue where a ValueObject was getting a wrong children count (usually, a huge value) and trying to resize the vector of children to fit that many ValueObject* Added a loop detection algorithm to the synthetic children provider for std::list Added a few more checks to the synthetic children provider for std::vector Both std::list and std::vector's synthetic children providers now cache the count of children instead of recomputing it every time std::map has a field that stores the count, so there is little need to cache it on our side llvm-svn: 152371
-
Eli Friedman authored
Make sure constant emission handles initializer lists with strings correctly. Part of <rdar://problem/10957867>. llvm-svn: 152370
-
Chandler Carruth authored
caused several clients to select the slow variation. =[ This is extra annoying because we don't have any realistic way of testing this -- by design, these two functions *must* compute the same value. Found while inspecting the output of some benchmarks I'm working on. llvm-svn: 152369
-
Chandler Carruth authored
introduced. Specifically, there are cost reductions for all constant-operand icmp instructions against an alloca, regardless of whether the alloca will in fact be elligible for SROA. That means we don't want to abort the icmp reduction computation when we abort the SROA reduction computation. That in turn frees us from the need to keep a separate worklist and defer the ICmp calculations. Use this new-found freedom and some judicious function boundaries to factor the innards of computing the cost factor of any given instruction out of the loop over the instructions and into static helper functions. This greatly simplifies the code, and hopefully makes it more clear what is happening here. Reviewed by Eric Christopher. There is some concern that we'd like to ensure this doesn't get out of hand, and I plan to benchmark the effects of this change over the next few days along with some further fixes to the inline cost. llvm-svn: 152368
-
Johnny Chen authored
Add the capability on OS X to utilize 'xcrun' to locate the compilers used for building the inferior programs to be debugged while running the test suite. By default, compilers is set to ['clang'] and can be overridden using the "-C compilerA^compilerB" option. llvm-svn: 152367
-
Chad Rosier authored
Original commit message from r147481: DAGCombine for transforming 128->256 casts into a vmovaps, rather then a vxorps + vinsertf128 pair if the original vector came from a load. Fix: Unaligned loads need to generate a vmovups. rdar://10974078 llvm-svn: 152366
-
Daniel Dunbar authored
llvm-svn: 152365
-
Daniel Dunbar authored
llvm-svn: 152364
-
Daniel Dunbar authored
- This function is not at all free; pass it around along some hot paths instead of recomputing it deep inside various VarDecl methods. llvm-svn: 152363
-
Kostya Serebryany authored
llvm-svn: 152362
-
Ted Kremenek authored
Essentially, a bug centers around a story for various symbols and regions. We should only include the path diagnostic events that relate to those symbols and regions. The pruning is done by associating a set of interesting symbols and regions with a BugReporter, which can be modified at BugReport creation or by BugReporterVisitors. This patch reduces the diagnostics emitted in several of our test cases. I've vetted these as having desired behavior. The only regression is a missing null check diagnostic for the return value of realloc() in test/Analysis/malloc-plist.c. This will require some investigation to fix, and I have added a FIXME to the test case. llvm-svn: 152361
-
Andrew Trick authored
llvm-svn: 152360
-
Andrew Trick authored
llvm-svn: 152359
-
Enrico Granata authored
llvm-svn: 152358
-
Johnny Chen authored
Change the test driver so that, by default, it takes into consideration of both 'x86_64' and 'i386' architectures when building the inferior programs. Example: /Volumes/data/lldb/svn/ToT/test $ ./dotest.py -v functionalities/watchpoint LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug LLDB-123 Path: /Volumes/data/lldb/svn/ToT URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk Repository Root: https://johnny@llvm.org/svn/llvm-project Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8 Revision: 152244 Node Kind: directory Schedule: normal Last Changed Author: gclayton Last Changed Rev: 152244 Last Changed Date: 2012-03-07 13:03:09 -0800 (Wed, 07 Mar 2012) Session logs for test failures/errors/unexpected successes will go into directory '2012-03-08-16_43_51' Command invoked: python ./dotest.py -v functionalities/watchpoint Configuration: arch=x86_64 ---------------------------------------------------------------------- Collected 21 tests 1: test_hello_watchlocation_with_dsym (TestWatchLocation.HelloWatchLocationTestCase) Test watching a location with '-x size' option. ... ok 2: test_hello_watchlocation_with_dwarf (TestWatchLocation.HelloWatchLocationTestCase) Test watching a location with '-x size' option. ... ok 3: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... ok 4: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... ok 5: test_watchpoint_multiple_threads_with_dsym (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase) Test that lldb watchpoint works for multiple threads. ... ok 6: test_watchpoint_multiple_threads_with_dwarf (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase) Test that lldb watchpoint works for multiple threads. ... ok 7: test_rw_disable_after_first_stop__with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint but disable it after the first stop. ... ok 8: test_rw_disable_after_first_stop_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint but disable it after the first stop. ... ok 9: test_rw_disable_then_enable_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint, disable initially, then enable it. ... ok 10: test_rw_disable_then_enable_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint, disable initially, then enable it. ... ok 11: test_rw_watchpoint_delete_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test delete watchpoint and expect not to stop for watchpoint. ... ok 12: test_rw_watchpoint_delete_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test delete watchpoint and expect not to stop for watchpoint. ... ok 13: test_rw_watchpoint_set_ignore_count_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test watchpoint ignore count and expect to not to stop at all. ... ok 14: test_rw_watchpoint_set_ignore_count_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test watchpoint ignore count and expect to not to stop at all. ... ok 15: test_rw_watchpoint_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint and expect to stop two times. ... ok 16: test_rw_watchpoint_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint and expect to stop two times. ... ok 17: test_watchpoint_cond_with_dsym (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase) Test watchpoint condition. ... ok 18: test_watchpoint_cond_with_dwarf (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase) Test watchpoint condition. ... ok 19: test_watchlocation_with_dsym_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase) Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok 20: test_watchlocation_with_dwarf_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase) Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok 21: test_error_cases_with_watchpoint_set (TestWatchpointSetErrorCases.WatchpointSetErrorTestCase) Test error cases with the 'watchpoint set' command. ... ok ---------------------------------------------------------------------- Ran 21 tests in 74.590s OK Configuration: arch=i386 ---------------------------------------------------------------------- Collected 21 tests 1: test_hello_watchlocation_with_dsym (TestWatchLocation.HelloWatchLocationTestCase) Test watching a location with '-x size' option. ... ok 2: test_hello_watchlocation_with_dwarf (TestWatchLocation.HelloWatchLocationTestCase) Test watching a location with '-x size' option. ... ok 3: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... ok 4: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... ok 5: test_watchpoint_multiple_threads_with_dsym (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase) Test that lldb watchpoint works for multiple threads. ... ok 6: test_watchpoint_multiple_threads_with_dwarf (TestWatchpointMultipleThreads.WatchpointForMultipleThreadsTestCase) Test that lldb watchpoint works for multiple threads. ... ok 7: test_rw_disable_after_first_stop__with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint but disable it after the first stop. ... ok 8: test_rw_disable_after_first_stop_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint but disable it after the first stop. ... ok 9: test_rw_disable_then_enable_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint, disable initially, then enable it. ... ok 10: test_rw_disable_then_enable_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint, disable initially, then enable it. ... ok 11: test_rw_watchpoint_delete_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test delete watchpoint and expect not to stop for watchpoint. ... ok 12: test_rw_watchpoint_delete_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test delete watchpoint and expect not to stop for watchpoint. ... ok 13: test_rw_watchpoint_set_ignore_count_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test watchpoint ignore count and expect to not to stop at all. ... ok 14: test_rw_watchpoint_set_ignore_count_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test watchpoint ignore count and expect to not to stop at all. ... ok 15: test_rw_watchpoint_with_dsym (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint and expect to stop two times. ... ok 16: test_rw_watchpoint_with_dwarf (TestWatchpointCommands.WatchpointCommandsTestCase) Test read_write watchpoint and expect to stop two times. ... ok 17: test_watchpoint_cond_with_dsym (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase) Test watchpoint condition. ... ok 18: test_watchpoint_cond_with_dwarf (TestWatchpointConditionCmd.WatchpointConditionCmdTestCase) Test watchpoint condition. ... ok 19: test_watchlocation_with_dsym_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase) Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok 20: test_watchlocation_with_dwarf_using_watchpoint_set (TestWatchLocationWithWatchSet.WatchLocationUsingWatchpointSetTestCase) Test watching a location with 'watchpoint set expression -w write -x size' option. ... ok 21: test_error_cases_with_watchpoint_set (TestWatchpointSetErrorCases.WatchpointSetErrorTestCase) Test error cases with the 'watchpoint set' command. ... ok ---------------------------------------------------------------------- Ran 21 tests in 67.059s OK llvm-svn: 152357
-
Evan Cheng authored
llvm-svn: 152356
-
Benjamin Kramer authored
llvm-svn: 152355
-
Jason Molenda authored
llvm-svn: 152353
-
Anna Zaks authored
analyzed. The CallGraph is used when inlining is on, which is the current default. This alone does not bring any performance improvement. It's a stepping stone for the upcoming optimization in which we do not re-analyze a function that has already been analyzed while inlined in other functions. Using the call graph makes it easier to play with the order of functions to minimize redundant analyzes. llvm-svn: 152352
-
Anna Zaks authored
- Remove -analyzer-inline-call. - Add -analyzer-ipa=[none|inlining] - Add -analyzer-inlining-mode to allow experimentation for different performance tuning methods. llvm-svn: 152351
-
Anna Zaks authored
llvm-svn: 152350
-
Richard Smith authored
llvm-svn: 152349
-