Recommit r231168: unique_ptrify LiveRange::segmentSet
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 3 Mar 2015 23:53:03 +0000 (23:53 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 3 Mar 2015 23:53:03 +0000 (23:53 +0000)
commit19af066001eb3f4a2577cc75b4921cf8280417fd
tree1fd1862c5749df6cb2226e97848086474f034760
parent5d9a5fd61d44d5d17079f41b8d6f331841cdbfc5
Recommit r231168: unique_ptrify LiveRange::segmentSet

GCC 4.7's libstdc++ doesn't have std::map::emplace, but it does have
std::unordered_map::emplace, and the use case here doesn't appear to
need ordering. The container has been changed in a separate/precursor
patch, and now this patch should hopefully build cleanly even with
GCC 4.7.

Original commit message:
This makes LiveRange non-copyable, and LiveInterval is already
non-movable (due to the explicit dtor), so now it's non-copyable and
non-movable.

Fix the one case where we were relying on the (deprecated in C++11)
implicit copy ctor of LiveInterval (which happened to work because the
ctor created an object with a null segmentSet, so double-deleting the
null pointer was fine).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231176 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LiveInterval.h
lib/CodeGen/LiveInterval.cpp
lib/CodeGen/LiveStackAnalysis.cpp