SPIRV-Tools/source/diff
Shahbaz Youssefi bd325d2984
spirv-diff: Basic support for OpTypeForwardPointer (#4761)
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
2022-03-28 17:01:07 +00:00
..
CMakeLists.txt Introduce spirv-diff (#4611) 2022-02-02 10:33:18 -05:00
diff.cpp spirv-diff: Basic support for OpTypeForwardPointer (#4761) 2022-03-28 17:01:07 +00:00
diff.h Introduce spirv-diff (#4611) 2022-02-02 10:33:18 -05:00
lcs.h Stabilize the output of spirv-diff (#4698) 2022-02-07 09:37:04 -05:00