- Jan 17, 2011
-
-
Caroline Tice authored
allowing timeouts & informing the user when the lock is unavailable. Fixed problem where Debugger::Terminate was clearing the debugger list even when the global ref count was greater than zero. llvm-svn: 123674
-
Greg Clayton authored
bool RegisterContextLLDB::GetPC (addr_t& pc); to: bool RegisterContextLLDB::ReadPC (addr_t& pc); To avoid confusion with the GetPC() function that is part of the lldb_private::RegisterContext: uint64_t RegisterContext::GetPC (uint64_t fail_value); Bad things could happen if the two got intermixed and the wrong one got called. Fixed inifinite loop detection by watching for two frames where the RegisterContextLLDB::CursorSP contains the same start_pc and cfa. llvm-svn: 123673
-
Greg Clayton authored
Removed commented out code since it was incorrect code to begin with and we don't want anyone thinking they should put it back in. llvm-svn: 123672
-
Sean Callanan authored
we were setting a forward-declared Objective-C class type as being completed using an ExternalSemaSource, but this is neither legal nor necessary. llvm-svn: 123671
-
Douglas Gregor authored
llvm-svn: 123670
-
Douglas Gregor authored
Joerg Sonnenberger! llvm-svn: 123669
-
Douglas Gregor authored
llvm-svn: 123668
-
Anders Carlsson authored
llvm-svn: 123667
-
Argyrios Kyrtzidis authored
This allows us to cache a "#pragma unused" that occurs inside an inline C++ member function. Fixes rdar://8829590&8770988. llvm-svn: 123666
-
Jim Grosbach authored
llvm-svn: 123665
-
Benjamin Kramer authored
llvm-svn: 123664
-
Devang Patel authored
llvm-svn: 123663
-
Cameron Zwarich authored
checks enabled: 1) Use '<' to compare integers in a comparison function rather than '<='. 2) Use the uniqued set DefBlocks rather than Info.DefiningBlocks to initialize the priority queue. The speedup of scalarrepl on test-suite + SPEC2000 + SPEC2006 is a bit less, at just under 16% rather than 17%. llvm-svn: 123662
-
Devang Patel authored
llvm-svn: 123661
-
Michael J. Spencer authored
llvm-svn: 123660
-
Oscar Fuentes authored
Patch by arrowdodger! llvm-svn: 123659
-
Rafael Espindola authored
__builtin___CFStringMakeConstantString This fixes PR8993. A darwin expert might want to check that this is safe. llvm-svn: 123658
-
Michael J. Spencer authored
llvm-svn: 123643
-
Jay Foad authored
llvm-svn: 123623
-
Kalle Raiskila authored
'rotq*' and 'shlq*' instructions go to the odd pipeline, wheras the inter-vector equivalents 'rot*', 'shl*' go to the even. llvm-svn: 123622
-
Benjamin Kramer authored
This shaves off 4 popcounts from the hacked 186.crafty source. This is enabled even when a native popcount instruction is available. The combined code is one operation longer but it should be faster nevertheless. llvm-svn: 123621
-
Kalle Raiskila authored
llvm-svn: 123620
-
Evan Cheng authored
movw r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+4)) movt r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+4)) LPC0_0: add r0, pc, r0 It's not yet enabled by default as some tests are failing. I suspect bugs in down stream tools. llvm-svn: 123619
-
Cameron Zwarich authored
llvm-svn: 123618
-
Greg Clayton authored
llvm-svn: 123617
-
Greg Clayton authored
long strings in "char *" (with any combo if qualifiers). llvm-svn: 123616
-
Greg Clayton authored
V2 and we only have gdb_class_getClass, then make sure the isa isn't NULL before trying to call gdb_class_getClass otherwise we end up deadlocking the objective C runtime. llvm-svn: 123615
-
Greg Clayton authored
llvm-svn: 123614
-
Greg Clayton authored
the way LLDB lazily gets complete definitions for types within the debug info. When we run across a class/struct/union definition in the DWARF, we will only parse the full definition if we need to. This works fine for top level types that are assigned directly to variables and arguments, but when we have a variable with a class, lets say "A" for this example, that has a member: "B *m_b". Initially we don't need to hunt down a definition for this class unless we are ever asked to do something with it ("expr m_b->getDecl()" for example). With my previous approach to lazy type completion, we would be able to take a "A *a" and get a complete type for it, but we wouldn't be able to then do an "a->m_b->getDecl()" unless we always expanded all types within a class prior to handing out the type. Expanding everything is very costly and it would be great if there were a better way. A few months ago I worked with the llvm/clang folks to have the ExternalASTSource class be able to complete classes if there weren't completed yet: class ExternalASTSource { .... virtual void CompleteType (clang::TagDecl *Tag); virtual void CompleteType (clang::ObjCInterfaceDecl *Class); }; This was great, because we can now have the class that is producing the AST (SymbolFileDWARF and SymbolFileDWARFDebugMap) sign up as external AST sources and the object that creates the forward declaration types can now also complete them anywhere within the clang type system. This patch makes a few major changes: - lldb_private::Module classes now own the AST context. Previously the TypeList objects did. - The DWARF parsers now sign up as an external AST sources so they can complete types. - All of the pure clang type system wrapper code we have in LLDB (ClangASTContext, ClangASTType, and more) can now be iterating through children of any type, and if a class/union/struct type (clang::RecordType or ObjC interface) is found that is incomplete, we can ask the AST to get the definition. - The SymbolFileDWARFDebugMap class now will create and use a single AST that all child SymbolFileDWARF classes will share (much like what happens when we have a complete linked DWARF for an executable). We will need to modify some of the ClangUserExpression code to take more advantage of this completion ability in the near future. Meanwhile we should be better off now that we can be accessing any children of variables through pointers and always be able to resolve the clang type if needed. llvm-svn: 123613
-
Anders Carlsson authored
llvm-svn: 123612
-
Anders Carlsson authored
Enforce C++[class.mem]p8: A virt-specifier-seq shall contain at most one of each virt-specifier. llvm-svn: 123611
-
Francois Pichet authored
llvm-svn: 123610
-
Cameron Zwarich authored
eliminating a potentially quadratic data structure, this also gives a 17% speedup when running -scalarrepl on test-suite + SPEC2000 + SPEC2006. My initial experiment gave a greater speedup around 25%, but I moved the dominator tree level computation from dominator tree construction to PromoteMemToReg. Since this approach to computing IDFs has a much lower overhead than the old code using precomputed DFs, it is worth looking at using this new code for the second scalarrepl pass as well. llvm-svn: 123609
-
Francois Pichet authored
llvm-svn: 123608
-
Francois Pichet authored
llvm-svn: 123607
-
Anders Carlsson authored
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm This lands support for parsing virt-specifier-seq after member functions, including the contextual keywords 'final', and 'override'. The keywords are not yet used for anything. llvm-svn: 123606
-
Michael J. Spencer authored
UnRevert "Revert "Archive: Replace all internal uses of PathV1 with PathV2. The external API still uses PathV1."" llvm-svn: 123605
-
- Jan 16, 2011
-
-
Michael J. Spencer authored
llvm-svn: 123604
-
Anders Carlsson authored
Fix a bug where the -Wmissing-noreturn would always treat constructors with base or member initializers as noreturn. llvm-svn: 123603
-
Anders Carlsson authored
llvm-svn: 123602
-