[SE] GlobalDeviceMemory owns its handle
authorJason Henline <jhen@google.com>
Fri, 2 Sep 2016 17:22:42 +0000 (17:22 +0000)
committerJason Henline <jhen@google.com>
Fri, 2 Sep 2016 17:22:42 +0000 (17:22 +0000)
commit31b88cb030fab7b35720c78798e7efff1596187a
tree911433284942c62e6fcfb824353b13a7a61b0462
parent26c43c879c3540aba03a2d67d3848a6b66b4b90a
[SE] GlobalDeviceMemory owns its handle

Summary:
Final step in getting GlobalDeviceMemory to own its handle.

* Make GlobalDeviceMemory movable, but no longer copyable.
* Make Device::freeDeviceMemory function private and make
  GlobalDeviceMemoryBase a friend of Device so GlobalDeviceMemoryBase
  can free its memory in its destructor.
* Make GlobalDeviceMemory constructor private and make Device a friend
  so it can construct GlobalDeviceMemory.
* Remove SharedDeviceMemoryBase class because it is never used.
* Remove explicit memory freeing from example code.

This change just consumes any errors generated during device memory freeing.
The real error handling will be added in a future patch.

Reviewers: jlebar

Subscribers: jprice, parallel_libs-commits

Differential Revision: https://reviews.llvm.org/D24195

llvm-svn: 280509
parallel-libs/streamexecutor/examples/Example.cpp
parallel-libs/streamexecutor/include/streamexecutor/Device.h
parallel-libs/streamexecutor/include/streamexecutor/DeviceMemory.h
parallel-libs/streamexecutor/lib/CMakeLists.txt
parallel-libs/streamexecutor/lib/DeviceMemory.cpp [new file with mode: 0644]
parallel-libs/streamexecutor/lib/unittests/DeviceTest.cpp