Skip to content
  1. Nov 20, 2013
    • Chandler Carruth's avatar
      Give SmallPtrSet move semantics when we have R-value references. · 55758e96
      Chandler Carruth authored
      Somehow, this ADT got missed which is moderately terrifying considering
      the efficiency of move for it.
      
      The code to implement move semantics for it is pretty horrible
      currently but was written to reasonably closely match the rest of the
      code. Unittests that cover both copying and moving (at a basic level)
      added.
      
      llvm-svn: 195239
      55758e96
  2. Nov 18, 2013
  3. Mar 29, 2013
  4. Apr 18, 2012
  5. Mar 07, 2012
  6. Mar 06, 2012
  7. Mar 30, 2011
  8. Jun 30, 2010
    • Duncan Sands's avatar
      Rather than giving SmallPtrSetImpl a member field SmallArray which is magically · 7b90966d
      Duncan Sands authored
      replaced by a bigger array in SmallPtrSet (by overridding it), instead just use a
      pointer to the start of the storage, and have SmallPtrSet pass in the value to use.
      This has the disadvantage that SmallPtrSet becomes bigger by one pointer.  It has
      the advantage that it no longer uses tricky C++ rules, and is clearly correct while
      I'm not sure the previous version was.  This was inspired by g++-4.6 pointing out
      that SmallPtrSetImpl was writing off the end of SmallArray, which it was.  Since
      SmallArray is replaced with a bigger array in SmallPtrSet, the write was still to
      valid memory.  But it was writing off the end of the declared array type - sounds
      kind of dubious to me, like it sounded dubious to g++-4.6.  Maybe g++-4.6 is wrong
      and this construct is perfectly valid and correctly compiled by all compilers, but
      I think it is better to avoid the whole can of worms by avoiding this construct.
      
      llvm-svn: 107285
      7b90966d
  9. Aug 05, 2008
  10. Dec 29, 2007
  11. Nov 06, 2007
  12. Aug 15, 2007
  13. Aug 05, 2007
    • Chris Lattner's avatar
      When clearing a SmallPtrSet, if the set had a huge capacity, but the · 44f7d3aa
      Chris Lattner authored
      contents of the set were small, deallocate and shrink the set.  This
      avoids having us to memset as much data, significantly speeding up
      some pathological cases.  For example, this speeds up the verifier
      from 0.3899s to 0.0763 (5.1x) on the testcase from PR1432 in a 
      release build.
      
      llvm-svn: 40837
      44f7d3aa
  14. Jul 27, 2007
  15. Jul 24, 2007
  16. Jul 19, 2007
  17. Jul 18, 2007
  18. Jul 17, 2007
  19. Jul 16, 2007
  20. Jul 10, 2007
  21. Jul 09, 2007
  22. Jun 22, 2007
  23. Apr 14, 2007
  24. Feb 07, 2007
  25. Feb 06, 2007
  26. Jan 27, 2007
Loading