Skip to content
  1. Mar 04, 2012
  2. Mar 02, 2012
  3. Mar 01, 2012
    • Benjamin Kramer's avatar
      BumpPtrAllocator: Make sure threshold cannot be initialized with a value... · f7e02a0c
      Benjamin Kramer authored
      BumpPtrAllocator: Make sure threshold cannot be initialized with a value smaller than the slab size.
      
      This replaces r151834 with a simpler fix.
      
      llvm-svn: 151842
      f7e02a0c
    • Argyrios Kyrtzidis's avatar
      If BumpPtrAllocator is requested to allocate a size that exceeds the slab size, · 16558f4d
      Argyrios Kyrtzidis authored
      increase the slab size.
      
      llvm-svn: 151834
      16558f4d
    • Chandler Carruth's avatar
      Add the source file with trivial definitions in it that was missing from · 34085df4
      Chandler Carruth authored
      r151822, sorry sorry. =[
      
      We need 'git svn nothave' or some such...
      
      llvm-svn: 151824
      34085df4
    • Chandler Carruth's avatar
      Rewrite LLVM's generalized support library for hashing to follow the API · 1d03a3b6
      Chandler Carruth authored
      of the proposed standard hashing interfaces (N3333), and to use
      a modified and tuned version of the CityHash algorithm.
      
      Some of the highlights of this change:
       -- Significantly higher quality hashing algorithm with very well
          distributed results, and extremely few collisions. Should be close to
          a checksum for up to 64-bit keys. Very little clustering or clumping of
          hash codes, to better distribute load on probed hash tables.
       -- Built-in support for reserved values.
       -- Simplified API that composes cleanly with other C++ idioms and APIs.
       -- Better scaling performance as keys grow. This is the fastest
          algorithm I've found and measured for moderately sized keys (such as
          show up in some of the uniquing and folding use cases)
       -- Support for enabling per-execution seeds to prevent table ordering
          or other artifacts of hashing algorithms to impact the output of
          LLVM. The seeding would make each run different and highlight these
          problems during bootstrap.
      
      This implementation was tested extensively using the SMHasher test
      suite, and pased with flying colors, doing better than the original
      CityHash algorithm even.
      
      I've included a unittest, although it is somewhat minimal at the moment.
      I've also added (or refactored into the proper location) type traits
      necessary to implement this, and converted users of GeneralHash over.
      
      My only immediate concerns with this implementation is the performance
      of hashing small keys. I've already started working to improve this, and
      will continue to do so. Currently, the only algorithms faster produce
      lower quality results, but it is likely there is a better compromise
      than the current one.
      
      Many thanks to Jeffrey Yasskin who did most of the work on the N3333
      paper, pair-programmed some of this code, and reviewed much of it. Many
      thanks also go to Geoff Pike Pike and Jyrki Alakuijala, the original
      authors of CityHash on which this is heavily based, and Austin Appleby
      who created MurmurHash and the SMHasher test suite.
      
      Also thanks to Nadav, Tobias, Howard, Jay, Nick, Ahmed, and Duncan for
      all of the review comments! If there are further comments or concerns,
      please let me know and I'll jump on 'em.
      
      llvm-svn: 151822
      1d03a3b6
  4. Feb 29, 2012
  5. Feb 24, 2012
  6. Feb 23, 2012
  7. Feb 22, 2012
    • Chad Rosier's avatar
      Remove extra semi-colons. · 5dfe6dab
      Chad Rosier authored
      llvm-svn: 151169
      5dfe6dab
    • Chandler Carruth's avatar
      Support was removed from LLVM's MIPS backend for the PSP variant of that · 0c7a7cc7
      Chandler Carruth authored
      chip in r139383, and the PSP components of the triple are really
      annoying to parse. Let's leave this chapter behind. There is no reason
      to expect LLVM to see a PSP-related triple these days, and so no
      reasonable motivation to support them.
      
      It might be reasonable to prune a few of the older MIPS triple forms in
      general, but as those at least cause no burden on parsing (they aren't
      both a chip and an OS!), I'm happy to leave them in for now.
      
      llvm-svn: 151156
      0c7a7cc7
  8. Feb 21, 2012
  9. Feb 20, 2012
  10. Feb 19, 2012
  11. Feb 18, 2012
  12. Feb 15, 2012
  13. Feb 12, 2012
  14. Feb 09, 2012
    • David Blaikie's avatar
      Change default error_code ctor to a 'named ctor' so it's more self-documenting. · 18544b96
      David Blaikie authored
      Unify default construction of error_code uses on this idiom so that users don't
      feel compelled to make static globals for naming convenience. (unfortunately I
      couldn't make the original ctor private as some APIs don't return their result,
      instead using an out parameter (that makes sense to default construct) - which
      is a bit of a pity. I did, however, find/fix some cases of unnecessary default
      construction of error_code before I hit the unfixable cases)
      
      llvm-svn: 150197
      18544b96
    • David Blaikie's avatar
      Remove static initializer from DataStream.cpp · e7d7a5df
      David Blaikie authored
      If someone would prefer a clear name for the 'success' error_value we could
      come up with one - potentially just a 'named constructor' style
      'error_value::success()' to make this expression more self-documenting. If
      I see this come up in other cases I'll certainly consider it.
      
      One step along the way to resolving PR11944.
      
      llvm-svn: 150120
      e7d7a5df
  15. Feb 08, 2012
  16. Feb 07, 2012
  17. Feb 06, 2012
Loading