Give SmallPtrSet move semantics when we have R-value references.
authorChandler Carruth <chandlerc@gmail.com>
Wed, 20 Nov 2013 11:14:33 +0000 (11:14 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 20 Nov 2013 11:14:33 +0000 (11:14 +0000)
commit46198164b398d339e6c9d52354051477aec86dc9
treeb635ff591314ea2e73ffa117825e7a3f33274e74
parent56b09220a3c10a316761860e4a541aef43b1870d
Give SmallPtrSet move semantics when we have R-value references.
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195239 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/SmallPtrSet.h
lib/Support/SmallPtrSet.cpp
unittests/ADT/SmallPtrSetTest.cpp