Skip to content
  1. Jan 14, 2012
  2. Jan 13, 2012
    • Sean Callanan's avatar
      I made two major improvements to the way the · cbbe3ac4
      Sean Callanan authored
      master AST importer imports types.
      
      - First, before importing the definition of a
        Decl from its source, notify the underlying
        importer of the source->destination mapping.
        Especially for anonymous strucutres that are
        otherwise hard to unique in the target AST
        context, this hint is very helpful.
      
      - When deporting a type or Decl from one
        ASTContext to another (deporting occurs in
        the case of moving result types from the
        parser's AST context to the result AST
        context), don't forget their origin if the
        origin is the original debug information.
      
      llvm-svn: 148152
      cbbe3ac4
    • Jakob Stoklund Olesen's avatar
      Use RegisterTuples to generate pseudo-registers. · 35545421
      Jakob Stoklund Olesen authored
      The QQ and QQQQ registers are not 'real', they are pseudo-registers used
      to model some vld and vst instructions.
      
      This makes the call clobber lists longer, but I intend to get rid of
      those soon.
      
      llvm-svn: 148151
      35545421
    • Rafael Espindola's avatar
      Remove label that is not used anymore. · cef42c30
      Rafael Espindola authored
      llvm-svn: 148150
      cef42c30
    • Eli Friedman's avatar
      d476fdc3
    • Douglas Gregor's avatar
      When inferring a module for a framework, first determine whether that · 3a5999bc
      Douglas Gregor authored
      framework is actually a subframework within a top-level framework. If
      so, only infer a module for the top-level framework and then dig out
      the appropriate submodule.
      
      This helps us cope with an amusing subframeworks anti-pattern, where
      one uses -F <framework>/Frameworks to get direct include access to the
      subframeworks of a framework (which otherwise would not be
      permitted).
      
      llvm-svn: 148148
      3a5999bc
    • Jakob Stoklund Olesen's avatar
      Skip the NAME field when forming tuples. · 071c69cd
      Jakob Stoklund Olesen authored
      llvm-svn: 148147
      071c69cd
    • Sean Callanan's avatar
      Only create new ASTImporters on demand, not · ba5be17e
      Sean Callanan authored
      proactively.
      
      llvm-svn: 148146
      ba5be17e
    • Sean Callanan's avatar
      If the name of a struct or union is NULL in the · 7282e2ac
      Sean Callanan authored
      debug info, call it anonymous.  This isn't
      perfect, because Clang actually considers the
      following struct not to be anonymous:
      –
      struct {
        int x;
        int y;
      } g_foo;
      -
      but DWARF doesn't make the distinction.
      
      llvm-svn: 148145
      7282e2ac
    • Sean Callanan's avatar
      Fixed some logging in the AST source and added · a6e61a78
      Sean Callanan authored
      more information.
      
      llvm-svn: 148144
      a6e61a78
    • Andrew Trick's avatar
      Remove pointless mode line in .cpp file. · f35c8403
      Andrew Trick authored
      llvm-svn: 148143
      f35c8403
    • Anna Zaks's avatar
      Move identification of memory setting and copying functions (memset, · 201d489c
      Anna Zaks authored
      memcmp, strncmp,..) out of Sema and into FunctionDecl so that the logic
      could be reused in the analyzer.
      
      llvm-svn: 148142
      201d489c
    • Eli Friedman's avatar
      Revert r148138; it's causing test failures. · d749c6bf
      Eli Friedman authored
      llvm-svn: 148141
      d749c6bf
    • Kaelyn Uhrain's avatar
      Convert SemaExprMember.cpp to pass a callback object to CorrectTypo, · 3658e6a6
      Kaelyn Uhrain authored
      improving the typo correction results in certain situations.
      
      This is also the first typo correction callback conversion to affect
      an existing unit test. :)
      
      llvm-svn: 148140
      3658e6a6
    • Sebastian Pop's avatar
      remove assertions in the Hexagon backend specific clang driver · 86500280
      Sebastian Pop authored
      Patch from Jyotsna Verma:
      
      I have made the changes to remove assertions in the Hexagon backend
      specific clang driver. Instead of asserting on invalid arch name, it has
      been modified to use the default value.
      
      I have changed the implementation of the CPU flag validation for the
      Hexagon backend. Earlier, the clang driver performed the check and
      asserted on invalid inputs. In the new implementation, the driver passes
      the last CPU flag (or sets to "v4" if not specified) to the compiler (and
      also to the assembler and linker which perform their own check) instead of
      asserting on incorrect values. This patch changes the setCPU function for
      the Hexagon backend in clang/lib/Basic/Targets.cpp which causes the
      compiler to error out on incorrect CPU flag values.
      
      llvm-svn: 148139
      86500280
    • Sebastian Pop's avatar
      rename -ccc-host-triple into -target · 9a8d528d
      Sebastian Pop authored
      llvm-svn: 148138
      9a8d528d
    • Sebastian Pop's avatar
      rename DefaultHostTriple into DefaultTargetTriple · 9d66d9e4
      Sebastian Pop authored
      llvm-svn: 148137
      9d66d9e4
    • Duncan Sands's avatar
      Try to clarify a little how exception handling works. · df9d7815
      Duncan Sands authored
      llvm-svn: 148136
      df9d7815
    • Richard Smith's avatar
      Refactor for clarity. · d7d5790c
      Richard Smith authored
      llvm-svn: 148135
      d7d5790c
    • Devang Patel's avatar
      · 7066d280
      Devang Patel authored
      Revert r148131, it was committed before it was ready.
      
      llvm-svn: 148134
      7066d280
    • Stepan Dyatkovskiy's avatar
      Cosmetic patch for r148132. · 0a920fa2
      Stepan Dyatkovskiy authored
      llvm-svn: 148133
      0a920fa2
    • Stepan Dyatkovskiy's avatar
      LoopUnswitch: All helper data that is collected during loop-unswitch... · cbcbdb23
      Stepan Dyatkovskiy authored
      LoopUnswitch: All helper data that is collected during loop-unswitch iterations was moved to separated class (LUAnalysisCache). 
      
      llvm-svn: 148132
      cbcbdb23
    • Devang Patel's avatar
      Refactor. · 7ecdc6d4
      Devang Patel authored
      llvm-svn: 148131
      7ecdc6d4
    • Devang Patel's avatar
      Add new test. · 5d85276e
      Devang Patel authored
      llvm-svn: 148128
      5d85276e
    • Pete Cooper's avatar
      Fixed comment. Thanks Duncan! · 97aafd5f
      Pete Cooper authored
      llvm-svn: 148123
      97aafd5f
    • Douglas Gregor's avatar
      Reinstate test case accidentally reverted by r148028 · ccff301b
      Douglas Gregor authored
      llvm-svn: 148118
      ccff301b
    • Douglas Gregor's avatar
      09a22f07
    • Alexander Potapenko's avatar
      This patch adds two methods, __asan_allocate_island and __asan_deallocate_island · bd53f597
      Alexander Potapenko authored
      and switches our interceptors to using them instead of the default
      vm_allocate-based approach used by mach_override_ptr.
      
      To simplify the code, a fixed memory mapping is used for the allocation pool --
      note that we can't mmap an arbitrary chunk of memory, because the shadow memory hasn't been mapped yet
      (for the reasons discussed in http://code.google.com/p/address-sanitizer/issues/detail?id=24, we cannot map the shadow earlier)
      
      The patch drops the program startup time from several second to half a second,
      which speeds up the execution of ASan tests noticeably.
      Because of the virtual memory size occupied by the programs it's hard
      to speed up the shutdown time, which would've also helped the tests.
      
      llvm-svn: 148116
      bd53f597
    • Alexander Potapenko's avatar
      Add __asan_mach_override_ptr_custom, which allows to inject a custom memory... · 9301db4b
      Alexander Potapenko authored
      Add __asan_mach_override_ptr_custom, which allows to inject a custom memory allocator into mach_override_ptr().
      
      llvm-svn: 148115
      9301db4b
    • Alexander Potapenko's avatar
      This patch moves the code reading /proc/self/environ into AsanGetEnv · 553c208d
      Alexander Potapenko authored
      in asan_linux.cc, because /proc is unavailable on Mac.
      Instead the Mac version of AsanGetEnv iterates over the array of
      environment variables obtained from _NSGetEnviron()
      
      llvm-svn: 148114
      553c208d
    • Evgeniy Stepanov's avatar
      Remove --hash-style from link command on Android. · 2ca1aa5a
      Evgeniy Stepanov authored
      Gnu hash is not supported by the Android loader.
      
      llvm-svn: 148113
      2ca1aa5a
    • Craig Topper's avatar
      Convert SHUFPD with the same register for both sources to PSHUFD if it would... · e52d86a7
      Craig Topper authored
      Convert SHUFPD with the same register for both sources to PSHUFD if it would prevent a register copy. Similar to SHUFPS, but requires the mask to be converted.
      
      llvm-svn: 148112
      e52d86a7
    • Greg Clayton's avatar
      Updated HTML with info for ${function.name-with-args} · 13d284b2
      Greg Clayton authored
      llvm-svn: 148111
      13d284b2
    • Greg Clayton's avatar
      Added a new thread and frame format that can be used to display a function · 6d3dbf51
      Greg Clayton authored
      name + arguments when the data is available. It seems to work really well, 
      but some more testing is needed before we make this on by default.
      
      The new function format name is:
      
       ${function.name-with-args}
      
      To see how to use these formats see the website:
      
          http://lldb.llvm.org/formats.html
      
      Here is a sample backtrace of debugging LLDB with LLDB using this new format
      value:
      
      (lldb) thread backtrace all
      * thread #1: tid = 0x2203, 0x00007fff88a17bca libsystem_kernel.dylib __psynch_cvwait + 10, stop reason = signal SIGINT, name = <lldb.driver.main-thread>, queue = com.apple.main-thread
          frame #0: 0x00007fff88a17bca libsystem_kernel.dylib __psynch_cvwait + 10
          frame #1: 0x00007fff884ae274 libsystem_c.dylib _pthread_cond_wait + 840
          frame #2: 0x00000001010778ea LLDB lldb_private::Condition::Wait(this=0x0000000104846770, mutex=0x0000000104846730, abstime=0x0000000000000000, timed_out=0x00007fff5fbfdea7) + 138 at Condition.cpp:92
          frame #3: 0x0000000101244c21 LLDB lldb_private::Predicate<bool>::WaitForValueEqualTo(this=0x0000000104846728, value=true, abstime=0x0000000000000000, timed_out=0x00007fff5fbfdea7) + 209 at Predicate.h:317
          frame #4: 0x0000000100f6eeb2 LLDB lldb_private::Listener::WaitForEventsInternal(this=0x0000000104846660, timeout=0x0000000000000000, broadcaster=0x0000000000000000, broadcaster_names=0x0000000000000000, num_broadcaster_names=0x00000000, event_type_mask=0x00000000, event_sp=0x00007fff5fbfe030) + 386 at Listener.cpp:388
          frame #5: 0x0000000100f6f231 LLDB lldb_private::Listener::WaitForEvent(this=0x0000000104846660, timeout=0x0000000000000000, event_sp=0x00007fff5fbfe030) + 81 at Listener.cpp:436
          frame #6: 0x0000000100098dcd LLDB lldb::SBListener::WaitForEvent(this=0x00007fff5fbff0f0, timeout_secs=0xffffffff, event=0x00007fff5fbfe430) + 685 at SBListener.cpp:181
          frame #7: 0x000000010000628c lldb Driver::MainLoop(this=0x00007fff5fbff620) + 5244 at Driver.cpp:1325
          frame #8: 0x0000000100006ca3 lldb main(argc=1, argv=0x00007fff5fbff758, envp=0x00007fff5fbff768) + 419 at Driver.cpp:1460
          frame #9: 0x0000000100000d54 lldb start + 52
      
        thread #3: tid = 0x2703, 0x00007fff88a17df2 libsystem_kernel.dylib select$DARWIN_EXTSN + 10, name = <lldb.comm.debugger.input>
          frame #0: 0x00007fff88a17df2 libsystem_kernel.dylib select$DARWIN_EXTSN + 10
          frame #1: 0x0000000100f3f072 LLDB lldb_private::ConnectionFileDescriptor::BytesAvailable(this=0x000000010524d040, timeout_usec=0x004c4b40, error_ptr=0x0000000105640a18) + 722 at ConnectionFileDescriptor.cpp:542
          frame #2: 0x0000000100f3e6dd LLDB lldb_private::ConnectionFileDescriptor::Read(this=0x000000010524d040, dst=0x0000000105640a60, dst_len=1024, timeout_usec=0x004c4b40, status=0x0000000105640a14, error_ptr=0x0000000105640a18) + 301 at ConnectionFileDescriptor.cpp:273
          frame #3: 0x0000000100f3b8f7 LLDB lldb_private::Communication::ReadFromConnection(this=0x0000000104846270, dst=0x0000000105640a60, dst_len=1024, timeout_usec=0x004c4b40, status=0x0000000105640a14, error_ptr=0x0000000105640a18) + 167 at Communication.cpp:317
          frame #4: 0x0000000100f3b197 LLDB lldb_private::Communication::ReadThread(p=0x0000000104846270) + 327 at Communication.cpp:344
          frame #5: 0x0000000101078923 LLDB ThreadCreateTrampoline(arg=0x00000001045f6650) + 227 at Host.cpp:549
          frame #6: 0x00007fff884aa8bf libsystem_c.dylib _pthread_start + 335
          frame #7: 0x00007fff884adb75 libsystem_c.dylib thread_start + 13
      
        thread #4: tid = 0x2803, 0x00007fff88a17df2 libsystem_kernel.dylib select$DARWIN_EXTSN + 10, name = <lldb.comm.driver.editline>
          frame #0: 0x00007fff88a17df2 libsystem_kernel.dylib select$DARWIN_EXTSN + 10
          frame #1: 0x0000000100f3f072 LLDB lldb_private::ConnectionFileDescriptor::BytesAvailable(this=0x0000000105700370, timeout_usec=0x004c4b40, error_ptr=0x00000001056c3a18) + 722 at ConnectionFileDescriptor.cpp:542
          frame #2: 0x0000000100f3e6dd LLDB lldb_private::ConnectionFileDescriptor::Read(this=0x0000000105700370, dst=0x00000001056c3a60, dst_len=1024, timeout_usec=0x004c4b40, status=0x00000001056c3a14, error_ptr=0x00000001056c3a18) + 301 at ConnectionFileDescriptor.cpp:273
          frame #3: 0x0000000100f3b8f7 LLDB lldb_private::Communication::ReadFromConnection(this=0x0000000105700000, dst=0x00000001056c3a60, dst_len=1024, timeout_usec=0x004c4b40, status=0x00000001056c3a14, error_ptr=0x00000001056c3a18) + 167 at Communication.cpp:317
          frame #4: 0x0000000100f3b197 LLDB lldb_private::Communication::ReadThread(p=0x0000000105700000) + 327 at Communication.cpp:344
          frame #5: 0x0000000101078923 LLDB ThreadCreateTrampoline(arg=0x0000000105700430) + 227 at Host.cpp:549
          frame #6: 0x00007fff884aa8bf libsystem_c.dylib _pthread_start + 335
          frame #7: 0x00007fff884adb75 libsystem_c.dylib thread_start + 13
      
        thread #5: tid = 0x2903, 0x00007fff88a17df2 libsystem_kernel.dylib select$DARWIN_EXTSN + 10, name = <lldb.comm.driver.editline_output>
          frame #0: 0x00007fff88a17df2 libsystem_kernel.dylib select$DARWIN_EXTSN + 10
          frame #1: 0x0000000100f3f072 LLDB lldb_private::ConnectionFileDescriptor::BytesAvailable(this=0x00000001057178f0, timeout_usec=0x004c4b40, error_ptr=0x0000000105980a18) + 722 at ConnectionFileDescriptor.cpp:542
          frame #2: 0x0000000100f3e6dd LLDB lldb_private::ConnectionFileDescriptor::Read(this=0x00000001057178f0, dst=0x0000000105980a60, dst_len=1024, timeout_usec=0x004c4b40, status=0x0000000105980a14, error_ptr=0x0000000105980a18) + 301 at ConnectionFileDescriptor.cpp:273
          frame #3: 0x0000000100f3b8f7 LLDB lldb_private::Communication::ReadFromConnection(this=0x0000000105717580, dst=0x0000000105980a60, dst_len=1024, timeout_usec=0x004c4b40, status=0x0000000105980a14, error_ptr=0x0000000105980a18) + 167 at Communication.cpp:317
          frame #4: 0x0000000100f3b197 LLDB lldb_private::Communication::ReadThread(p=0x0000000105717580) + 327 at Communication.cpp:344
          frame #5: 0x0000000101078923 LLDB ThreadCreateTrampoline(arg=0x00000001057179b0) + 227 at Host.cpp:549
          frame #6: 0x00007fff884aa8bf libsystem_c.dylib _pthread_start + 335
          frame #7: 0x00007fff884adb75 libsystem_c.dylib thread_start + 13
      
        thread #6: tid = 0x2a03, 0x00007fff88a18af2 libsystem_kernel.dylib read + 10, name = <lldb.driver.commandline_io>
          frame #0: 0x00007fff88a18af2 libsystem_kernel.dylib read + 10
          frame #1: 0x0000000100050c3b libedit.3.dylib read_init + 247
          frame #2: 0x0000000100050e96 libedit.3.dylib el_wgetc + 155
          frame #3: 0x000000010005115d libedit.3.dylib el_wgets + 578
          frame #4: 0x000000010005debc libedit.3.dylib el_gets + 37
          frame #5: 0x000000010000d409 lldb IOChannel::LibeditGetInput(this=0x0000000105700490, new_line=0x0000000105a03db0) + 89 at IOChannel.cpp:311
          frame #6: 0x000000010000d8b6 lldb IOChannel::Run(this=0x0000000105700490) + 806 at IOChannel.cpp:391
          frame #7: 0x000000010000d57d lldb IOChannel::IOReadThread(ptr=0x0000000105700490) + 29 at IOChannel.cpp:345
          frame #8: 0x0000000101078923 LLDB ThreadCreateTrampoline(arg=0x00000001057179f0) + 227 at Host.cpp:549
          frame #9: 0x00007fff884aa8bf libsystem_c.dylib _pthread_start + 335
          frame #10: 0x00007fff884adb75 libsystem_c.dylib thread_start + 13
      (lldb) 
      
      llvm-svn: 148110
      6d3dbf51
    • Craig Topper's avatar
    • Craig Topper's avatar
      Make X86 instruction selection use 256-bit VPXOR for build_vector of all ones... · cb7e13d7
      Craig Topper authored
      Make X86 instruction selection use 256-bit VPXOR for build_vector of all ones if AVX2 is enabled. This gives the ExeDepsFix pass a chance to choose FP vs int as appropriate. Also use v8i32 as the type for getZeroVector if AVX2 is enabled. This is consistent with SSE2 using prefering v4i32.
      
      llvm-svn: 148108
      cb7e13d7
    • NAKAMURA Takumi's avatar
      test/CodeGen/ARM/test-sharedidx.ll: Fix for -Asserts. · 1b845f71
      NAKAMURA Takumi authored
      llvm-svn: 148107
      1b845f71
Loading