Skip to content
  1. Dec 05, 2011
  2. Dec 04, 2011
  3. Dec 03, 2011
    • Venkatraman Govindaraju's avatar
      Sparc CodeGen: Fix AnalyzeBranch for PR 10282. Removing addSuccessor() since · 6dae604f
      Venkatraman Govindaraju authored
      AnalyzeBranch doesn't change the successor, just the order.
      
      llvm-svn: 145779
      6dae604f
    • Howard Hinnant's avatar
      Version #next on the hash functions for scalars. This builds on Dave's work,... · 9b0cd149
      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
      9b0cd149
    • Greg Clayton's avatar
      Added the ability for clients to grab a set of symbol table indexes and then · 1075acaf
      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
      1075acaf
    • Douglas Gregor's avatar
      Fix mangling substitutions for address-space-qualified class · fb9968d6
      Douglas Gregor authored
      types. Patch from Dmitri Rubinstein!
      
      llvm-svn: 145776
      fb9968d6
    • Douglas Gregor's avatar
      Implement support for the __is_final type trait, to determine whether · dca70af2
      Douglas Gregor authored
      a class is marked 'final', from Alberto Ganesh Barbati! Fixes
      PR11462.
      
      llvm-svn: 145775
      dca70af2
    • Fariborz Jahanian's avatar
      If block literal return type is not specified, return type of the block is · dd5eb9df
      Fariborz Jahanian authored
      inferred from return types. All the return statements have to agree about the type.
      // rdar://10466373
      
      llvm-svn: 145774
      dd5eb9df
Loading