- Dec 04, 2011
-
-
Eric Christopher authored
not get there any other way. llvm-svn: 145789
-
David Blaikie authored
llvm-svn: 145785
-
Bob Wilson authored
llvm-svn: 145783
-
Fariborz Jahanian authored
Function or array lvalue conversions happens. llvm-svn: 145782
-
Anton Korobeynikov authored
Maybe some targets should use this as well. Patch by Evgeniy Stepanov! llvm-svn: 145781
-
- Dec 03, 2011
-
-
Venkatraman Govindaraju authored
AnalyzeBranch doesn't change the successor, just the order. llvm-svn: 145779
-
Howard Hinnant authored
Version #next on the hash functions for scalars. This builds on Dave's work, extends it to T*, and changes the way double and long double are handled (no longer convert to float on 32 bit). I also picked up a minor bug with uninitialized bits on the upper end of size_t when sizeof(size_t) > sizeof(T), e.g. in hash<float>. Most of the functionality has been put in one place: __scalar_hash in <memory>. Unfortunately I could not reuse __scalar_hash for hash<long double> on x86 because of the padding bits which need to be zeroed. I didn't want to add this zeroing step to the more general __scalar_hash when it isn't needed (in the absence of padding bits). I'm not ignoring the hash<string> issue (possibly changing that to a better hash). I just haven't gotten there yet. llvm-svn: 145778
-
Greg Clayton authored
add them to a fast lookup map. lldb_private::Symtab now export the following public typedefs: namespace lldb_private { class Symtab { typedef std::vector<uint32_t> IndexCollection; typedef UniqueCStringMap<uint32_t> NameToIndexMap; }; } Clients can then find symbols by name and or type and end up with a Symtab::IndexCollection that is filled with indexes. These indexes can then be put into a name to index lookup map and control if the mangled and demangled names get added to the map: bool add_demangled = true; bool add_mangled = true; Symtab::NameToIndexMap name_to_index; symtab->AppendSymbolNamesToMap (indexes, add_demangled, add_mangled, name_to_index). This can be repeated as many times as needed to get a lookup table that you are happy with, and then this can be sorted: name_to_index.Sort(); Now name lookups can be done using a subset of the symbols you extracted from the symbol table. This is currently being used to extract objective C types from object files when there is no debug info in SymbolFileSymtab. Cleaned up how the objective C types were being vended to be more efficient and fixed some errors in the regular expression that was being used. llvm-svn: 145777
-
Douglas Gregor authored
types. Patch from Dmitri Rubinstein! llvm-svn: 145776
-
Douglas Gregor authored
a class is marked 'final', from Alberto Ganesh Barbati! Fixes PR11462. llvm-svn: 145775
-
Fariborz Jahanian authored
inferred from return types. All the return statements have to agree about the type. // rdar://10466373 llvm-svn: 145774
-
Benjamin Kramer authored
-3% on ARMDissasembler.cpp. llvm-svn: 145773
-
Francois Pichet authored
In Microsoft mode, don't perform typo correction in a template member function dependent context because it interferes with the "lookup into dependent bases of class templates" feature. Basically typo correction will try to offer a correction instead of looking into type dependent base classes. I found this problem while parsing Microsoft ATL code with clang. llvm-svn: 145772
-
Benjamin Kramer authored
llvm-svn: 145771
-
Benjamin Kramer authored
Add a "seen blocks" cache to LVI to avoid a linear scan over the whole cache just to remove no blocks from the maps. -15% on ARMDisassembler.cpp (Release build). It's not that great to add another layer of caching to the caching-heavy LVI but I don't see a better way. llvm-svn: 145770
-
Sebastian Redl authored
llvm-svn: 145769
-
Sanjoy Das authored
libgcc sets the stack limit field in TCB to 256 bytes above the actual allocated stack limit. This means if the function's stack frame needs less than 256 bytes, we can just compare the stack pointer with the stack limit. This should result in lesser calls to __morestack. llvm-svn: 145766
-
Sanjoy Das authored
Currently LLVM pads the call to __morestack with a add and sub of 8 bytes to esp. This isn't correct since __morestack expects the call to be followed directly by a ret. This commit also adjusts the relevant test-case. llvm-svn: 145765
-
Greg Clayton authored
class. The thing with Objective C classes is the debug info might have a definition that isn't just a forward decl, but it is incomplete. So we need to look and see if we can find the complete definition and avoid recursing a lot due to the fact that our accelerator tables will have many versions of the type, but only one complete one. We might not also have the complete type and we need to deal with this correctly. llvm-svn: 145759
-
Sean Callanan authored
Objective-C, making symbol lookups for various raw Objective-C symbols work correctly. The IR interpreter makes these lookups because Clang has emitted raw symbol references for ivars and classes. Also improved performance in SymbolFiles, caching the result of asking for SymbolFile abilities. llvm-svn: 145758
-
Greg Clayton authored
still need to write the test case file. llvm-svn: 145756
-
Eli Friedman authored
llvm-svn: 145753
-
Argyrios Kyrtzidis authored
when deserialized, fixing random crashes in libclang. Also simplifies how OpaqueValueExprs are [de]serialized. The reader/writer automatically retains pointer equality of sub-statements (when a statement node is referenced in multiple nodes), so no need to manually handle it. llvm-svn: 145752
-
Argyrios Kyrtzidis authored
llvm-svn: 145751
-
Argyrios Kyrtzidis authored
llvm-svn: 145750
-
Sean Callanan authored
for all our external AST sources that lets us associate arbitrary flags with the types we put into the AST contexts. Also added an API on ClangASTContext that allows access to these flags given only an ASTContext and a type. Because we don't have access to RTTI, and because at some point in the future we might encounter external AST sources that we didn't make (so they don't subclass ClangExternalASTSourceCommon) I added a magic number that we check before doing anything else, so that we can catch that problem as soon as it appears. llvm-svn: 145748
-
Eli Friedman authored
llvm-svn: 145747
-
Greg Clayton authored
llvm-svn: 145746
-
Nick Lewycky authored
the same value) to this variable. This code could be refactored, but it doesn't matter since the old JIT is going away. Add tsan annotations to ignore the race. llvm-svn: 145745
-
Greg Clayton authored
object file can correctly make these symbols which will abstract us from the file format and ABI and we can then ask for the objective C class symbol for a class and find out which object file it was defined in. llvm-svn: 145744
-
Kostya Serebryany authored
llvm-svn: 145743
-
Chad Rosier authored
rdar://10510150 llvm-svn: 145742
-
Eli Friedman authored
llvm-svn: 145741
-
Jim Ingham authored
the function it is being asked to step through, so that even if we get the trampoline target wrong (for instance) we will still not lose control. The other fix here is to tighten up the handling of the case where the current plan doesn't explain the stop, but a plan above us does. In that case, if the plan that does explain the stop says it is done, we need to clean up the plans below it and continue on with our processing. llvm-svn: 145740
-
Kostya Serebryany authored
llvm-svn: 145739
-
Douglas Gregor authored
Module files representing actual modules don't need to know the set of modules they import, since that information isn't actually used. Drop it from the AST file llvm-svn: 145738
-
Douglas Gregor authored
"main" files that import modules. When loading any of these kinds of AST files, we make the modules that were imported visible into the translation unit that loaded the PCH file or preamble. llvm-svn: 145737
-
Eli Friedman authored
Track alignment in AggValueSlot. No functional change in this patch, but I'll be introducing uses of the specified alignment soon. llvm-svn: 145736
-
Greg Clayton authored
llvm-svn: 145735
-
Douglas Gregor authored
implicitly generated in a translation unit. Modules will need this information to identify the actual imports that occurred. llvm-svn: 145734
-