mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-26 13:20:05 +00:00
bd325d2984
Currently, the diff tool matches types bottom up, so on every instruction it expects to know if its operands are already matched or not. With cyclical references, it cannot know that. Type matching would need significant rework to be able to support such a use case; for example, it may need to maintain a set of plausable matches between type pointers that are forward-referenced, and potentially back track when later the types turn out to be incompatible. In this change, OpTypeForwardPointer is supported in the more common and trivial case. Firstly, forwarded type pointers are only matched if they have they have the same storage class and point to the same type opcode: - In the presence of debug info, matching is done only if the names are unique in both src and dst. - In the absence of debug info, matching is done only if there is only one possible matching. Fixes: #4754 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
diff.cpp | ||
diff.h | ||
lcs.h |