mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2025-01-03 21:51:05 +00:00
80c94a4fa8
Previously we use vectors of objects and move semantics to handle ownership. That approach has the flaw that inserting an object into the middle of a vector, which may trigger a vector reallocation, can invalidate some addresses taken from instructions. Now the in-memory representation internally uses vector of unique pointers to handle ownership. Since objects are explicitly heap- allocated now, pointers to them won't be invalidated by vector resizing anymore. |
||
---|---|---|
.. | ||
basic_block.h | ||
CMakeLists.txt | ||
def_use_manager.cpp | ||
def_use_manager.h | ||
function.cpp | ||
function.h | ||
instruction.cpp | ||
instruction.h | ||
ir_loader.cpp | ||
ir_loader.h | ||
libspirv.cpp | ||
libspirv.hpp | ||
module.cpp | ||
module.h | ||
pass_manager.h | ||
pass.h | ||
passes.cpp | ||
passes.h | ||
reflect.h |