SPIRV-Tools/test/util
pd-valve d18d0d92e5
Optimize DefUseManager allocations (#4709)
* Optimize DefUseManager allocations

Saves around 30-35% of compilation time.

For inst->use_ids, use a pool linked list instead of allocating vectors for every instruction.  For inst->uses, use a "PooledLinkedList"' -- a linked list that has shared storage for all nodes.  Neither re-use nodes, instead we do a bulk compaction operation when too much memory is being wasted (tuneable).

Includes separate PooledLinkedList templated datastructure, a very special case construct, but split out to make the code a little easier to understand.
2022-02-15 19:17:30 -05:00
..
bit_vector_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
bitutils_test.cpp Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
CMakeLists.txt Optimize DefUseManager allocations (#4709) 2022-02-15 19:17:30 -05:00
hash_combine_test.cpp Optimize Type::HashValue (#4707) 2022-02-15 18:57:39 +00:00
ilist_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
pooled_linked_list_test.cpp Optimize DefUseManager allocations (#4709) 2022-02-15 19:17:30 -05:00
small_vector_test.cpp Optimize Type::HashValue (#4707) 2022-02-15 18:57:39 +00:00