forked from OSchip/llvm-project
63bdcaf92a
Prior to this change there were a number of places where the allocation and deallocation of SparseTensorCOO objects were not cleanly paired, leading to inconsistencies regarding whether each function released its tensor/coo arguments or not, as well as making it easy to run afoul of memory leaks, use-after-free, or double-free errors. This change cleans up the codegen vs runtime boundary to resolve those issues. Now, the only time the runtime library frees an object is either (a) because it's a function explicitly designed to do so, or (b) because the allocated object is entirely local to the function and would be a memory leak if not released. Thus, now the codegen takes complete responsibility for releasing any objects it caused to be allocated. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122435 |
||
---|---|---|
.. | ||
AsyncRuntime.cpp | ||
CMakeLists.txt | ||
CRunnerUtils.cpp | ||
CudaRuntimeWrappers.cpp | ||
ExecutionEngine.cpp | ||
JitRunner.cpp | ||
OptUtils.cpp | ||
RocmRuntimeWrappers.cpp | ||
RunnerUtils.cpp | ||
SparseTensorUtils.cpp |