Skip to content
  1. Mar 09, 2012
    • Eli Friedman's avatar
      Make sure we update the static local decl address map when we are forced to... · 1c8d2ca8
      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
      1c8d2ca8
    • Enrico Granata's avatar
      Changed ValueObject to use a dedicated ChildrenManager class to store its... · 9d60f607
      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
      9d60f607
    • Eli Friedman's avatar
      Make sure constant emission handles initializer lists with strings correctly. ... · effcd47e
      Eli Friedman authored
      Make sure constant emission handles initializer lists with strings correctly.  Part of <rdar://problem/10957867>.
      
      llvm-svn: 152370
      effcd47e
    • Chandler Carruth's avatar
      Fix a silly restriction on the fast-path for hash_combine_range. This · 1bb80aff
      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
      1bb80aff
    • Chandler Carruth's avatar
      Undo a previous restriction on the inline cost calculation which Nick · 783b7198
      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
      783b7198
    • Johnny Chen's avatar
      Add the capability on OS X to utilize 'xcrun' to locate the compilers used for... · 934c05d2
      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
      934c05d2
    • Chad Rosier's avatar
      Fix a regression from r147481. · a281afc6
      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
      a281afc6
    • Daniel Dunbar's avatar
      3c38d435
    • Daniel Dunbar's avatar
      [AST] Type::isVoidType() is trivial and should be inlined. · 198e16fd
      Daniel Dunbar authored
      llvm-svn: 152364
      198e16fd
    • Daniel Dunbar's avatar
      [AST] Reduce Decl::getASTContext() calls. · 9d355819
      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
      9d355819
    • Kostya Serebryany's avatar
      [asan] add a (disabled) stress test for __asan_get_ownership · 8aff411a
      Kostya Serebryany authored
      llvm-svn: 152362
      8aff411a
    • Ted Kremenek's avatar
      [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. · 1e809b4c
      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
      1e809b4c
    • Andrew Trick's avatar
      misched: allow the default scheduler to be one chosen by the target. · 45300687
      Andrew Trick authored
      llvm-svn: 152360
      45300687
    • Andrew Trick's avatar
      Added TargetPassConfig::enablePass · a6fe207f
      Andrew Trick authored
      llvm-svn: 152359
      a6fe207f
    • Enrico Granata's avatar
      eb55ad4a
    • Johnny Chen's avatar
      Change the test driver so that, by default, it takes into consideration of... · 5a9a9883
      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
      5a9a9883
    • Evan Cheng's avatar
      bc3b4e3f
    • Benjamin Kramer's avatar
      398ecd62
    • Jason Molenda's avatar
      Bump to lldb-125. · e83bc02b
      Jason Molenda authored
      llvm-svn: 152353
      e83bc02b
    • Anna Zaks's avatar
      [analyzer] Use call graph to determine order in which functions are · eee91107
      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
      eee91107
    • Anna Zaks's avatar
      [analyzer] Rework inlining related command line options. · 0af3e06f
      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
      0af3e06f
    • Anna Zaks's avatar
      Call Graph: Only the root node is allowed to have an invalid Decl*. · 9a008bb7
      Anna Zaks authored
      llvm-svn: 152350
      9a008bb7
    • Richard Smith's avatar
      Remove a test FIXME for a case which is already fixed. · bf79fc49
      Richard Smith authored
      llvm-svn: 152349
      bf79fc49
    • Richard Smith's avatar
      Fix a couple of issues with literal-operator-id parsing, and provide recovery · 7d182a79
      Richard Smith authored
      for a few kinds of error. Specifically:
      
      Since we're after translation phase 6, the "" token might be formed by multiple
      source-level string literals. Checking the token width is not a correct way of
      detecting empty string literals, due to escaped newlines. Diagnose and recover
      from a missing space between "" and suffix, and from string literals other than
      "", which are followed by a suffix.
      
      llvm-svn: 152348
      7d182a79
  2. Mar 08, 2012
Loading