tree e4d4edac0a352630ee85954b340ee208b4634f34
parent 01055c60cfc0cddd2724dc674ed73d09df992360
author Steven Perron <stevenperron@google.com> 1683553154 -0400
committer GitHub <noreply@github.com> 1683553154 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkWPuCCRBK7hj4Ov3rIwAA2JUIAF0vy8oJTNnpcAkbAbCnVNv3
 zwySvQBl160SOoM5WOGdusHYhzkQ7g1M43fpQ8xPYMj020m1fkc9aRy7oMF4OwOE
 Ri9o5nEUg0xeBcDUOye2YC69Z1SMXqjxqAFCK46k2y2NbatAghwtd3vYxD81rlEO
 Vjui36PU7lBI/UsulHvaZgQJ3wSaTfqwKdDSYQcemVEACet4OKFJ2gpz312HpJqZ
 jAMOGfxWyNN+7STrlvqmm028lvqjdEjtl0gwKuQynFaal7M5U4Z0TwG5gT1gUQL5
 NbGlnqpSixa3BFIEMHmwYFW4qNW/8rOHhzM9m2Jt812GggWotgFiYgbD6/ToFUI=
 =cvpi
 -----END PGP SIGNATURE-----
 

Apply scalar replacement on vars with Pointer decorations (#5208)

We want to be able to apply scalar replacement on variables that have
the AliasPointer and RestrictPointer decorations.

This exposed a bug that needs to be fixed as well.

Scalar replacement sometimes uses the type manager to get the type id for the
variables it is creating. The variable type is a pointer to a pointee
type. Currently, scalar replacement uses the type manager when only if
the pointee type has to be unique in the module. This is done to try to avoid the case where two type hash to the same
value in the type manager, and it returns the wrong one.

However, this check is not the correct check. Pointer types still have to be
unique in the spir-v module. However, two unique pointer types can hash
to the same value if their pointee types are isomorphic. For example,

%s1 = OpTypeStruct %int
%s2 = OpTypeStruct %int
; %p1 and %p2 will hash to the same value even though they are still
; considered "unique".
%p1 = OpTypePointer Function %s1
%p2 = OpTypePointer Function %s2
To fix this, we now use FindPointerToType, and we modified TypeManager::IsUnique to refer to the whether or not a type will hash to a unique value and say that pointers are not unique.

Fixes #5196