Skip to content
  1. Mar 09, 2012
    • Ahmed Charles's avatar
      Fix undefined behavior in the Mips backend. · 1662013a
      Ahmed Charles authored
      llvm-svn: 152390
      1662013a
    • Michael J. Spencer's avatar
      Fix MSVC incompatibilities. · e753cbc6
      Michael J. Spencer authored
      llvm-svn: 152389
      e753cbc6
    • Michael J. Spencer's avatar
      StringRef is not null terminated. · b5ef4df3
      Michael J. Spencer authored
      llvm-svn: 152388
      b5ef4df3
    • Michael J. Spencer's avatar
      Use llvm/Support/DataTypes instead of stdint.h · 9f91f958
      Michael J. Spencer authored
      llvm-svn: 152387
      9f91f958
    • Michael J. Spencer's avatar
      Use nullptr instead of NULL, and remove use of VLA. · 4ff3c799
      Michael J. Spencer authored
      llvm-svn: 152386
      4ff3c799
    • Greg Clayton's avatar
      Bumping Xcode project versions for lldb-126 and debugserver-176. · 2bf10c37
      Greg Clayton authored
      llvm-svn: 152384
      2bf10c37
    • Greg Clayton's avatar
      Bumping Xcode project versions for lldb-126 and debugserver-176. · b5225c86
      Greg Clayton authored
      llvm-svn: 152383
      b5225c86
    • Andrew Trick's avatar
    • Greg Clayton's avatar
      <rdar://problem/11016907> · f3bb3e47
      Greg 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
      f3bb3e47
    • Greg Clayton's avatar
      <rdar://problem/11016922> · efbc7d23
      Greg 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
      efbc7d23
    • Greg Clayton's avatar
      Remove a debug binary from the scheme. · 8f15c829
      Greg Clayton authored
      llvm-svn: 152379
      8f15c829
    • John McCall's avatar
      Remove accidental binary commit. · 1d0003ee
      John McCall authored
      llvm-svn: 152378
      1d0003ee
    • Daniel Dunbar's avatar
      [AST] Memoize ASTContext::getTypeInfo(). · c647587a
      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
      c647587a
    • Jim Ingham's avatar
    • John McCall's avatar
      Perform l2r conversions on delete operands before doing · ef429028
      John McCall authored
      type-analysis;  otherwise, we just completely do the
      wrong thing for placeholders.
      
      llvm-svn: 152375
      ef429028
    • Andrew Trick's avatar
      misched comments · 1c0ec45b
      Andrew Trick authored
      llvm-svn: 152374
      1c0ec45b
    • Andrew Trick's avatar
      revert 152356: verify misched changes using -misched=shuffle. · a21daf7f
      Andrew Trick authored
      llvm-svn: 152373
      a21daf7f
    • 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
Loading