tree 2e3a5ee4e1f055cc27bf5540c6c8040e71955169
parent 02195a029cf2807e5c2a5acfa6f844d6675e09ee
author Diego Novillo <dnovillo@google.com> 1604503433 -0500
committer GitHub <noreply@github.com> 1604503433 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfoseJCRBK7hj4Ov3rIwAAdHIIAKsNxDOmozHY3DoSbWL/hjdm
 IPS61IAencuOzvwryIgXrFMc7tVg50ijKJrIT9vMgTmLyLywa8Mc6n9f4srNwbQ6
 VD6Xdiw2RKlT+VqJnYf8lm4n9tTNKfuPKlf8J7ZE3Po3VJIFFFFYIbwiDXIsjbUg
 MsxUwHPFBclAXXjTbWnGZZf0T1ZLpULH/RSu4BYJ+W+C6HcJDbJ8dtNXIPId3rp/
 3w03vSGbncCpyoOZd4FD1bJLT0hvoeHVOb3T2s2n9Xwd8u5y7ftALqWt0kypJ5ao
 uTjX5MGEgAXfrefSz5Lr1ZdElJLCJ6dWHRJan2vdfwXZOEM2IsP25ZJTqXdpa5A=
 =TXv1
 -----END PGP SIGNATURE-----
 

Fix SSA re-writing in the presence of variable pointers. (#4010)

This fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/3873.

In the presence of variable pointers, the reaching definition may be
another pointer.  For example, the following fragment:

 %2 = OpVariable %_ptr_Input_float Input
%11 = OpVariable %_ptr_Function__ptr_Input_float Function
      OpStore %11 %2
%12 = OpLoad %_ptr_Input_float %11
%13 = OpLoad %float %12

corresponds to the pseudo-code:

layout(location = 0) in flat float *%2
float %13;
float *%12;
float **%11;
*%11 = %2;
%12 = *%11;
%13 = *%12;

which ultimately, should correspond to:

%13 = *%2;

During rewriting, the pointer %12 is found to be replaceable by %2.
However, when processing the load %13 = *%12, the type of %12's reaching
definition is another float pointer (%2), instead of a float value.

When this happens, we need to continue looking up the reaching definition
chain until we get to a float value or a non-target var (i.e. a variable
that cannot be SSA replaced, like %2 in this case since it is a function
argument).