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