tree f88769d30b1756d18f099ac5ae444ae6d70e4290
parent 0c670ef1d91f465bdc426ac98171155d8a846a46
author Shahbaz Youssefi <syoussefi@google.com> 1648486867 -0400
committer GitHub <noreply@github.com> 1648486867 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJiQenTCRBK7hj4Ov3rIwAAhAsIAIZ5kN1C1ihQk6aBVEon/FPV
 6Ah92jIRyE2F3LyXSI/hhKlCxJ8fgqnja/8IV0IFhuJ5jZiIHpfbJw8Wdltjwb6t
 YG+BtAHJzFwlHe9KZIiLuvhh0qUKt0FvmgBuVJEDsvigjYr5uCwkU82p3rKgZ69K
 jYrqrJUuru6nG2n0OND14yyUpeYkwhfh60VMi5/1wYjsEJALyCevD9QIQqEY4Vko
 f/T585f/BiSAoOPwE7D660Px9kcI/hV6Xqlfx6cvfQa2PK0E2/RZ5qWvI//0Pb9i
 JDjdVCOHFx9pp/6hWkPTVCrfsTdalzjTgJgcyt7/2uecRvqPMo0TPli9/qEFGbo=
 =15h0
 -----END PGP SIGNATURE-----
 

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