tree 01488c0072972a78e4a2950579d0d3c5a02c3945
parent 01964e325f95d9057a5c49b8de469c5888f6029a
author Steven Perron <stevenperron@google.com> 1554310071 -0400
committer GitHub <noreply@github.com> 1554310071 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJcpOO3CRBK7hj4Ov3rIwAAdHIIAHWYaYWTWLEXuLvk3HxVCMNv
 m3WDf8QFXAwxSmszdrtABIFdJWSkuD7P9dHznuY8K+6m+GjJ3hbexs23kCqcjA7+
 BxNSACVQRnbafEY1fm2Dl5/UcG3UkCO1XmffQtVvhaw6XoDzkZO65U+/JA8i1ASP
 w2n+Cnd88YbKvDiIxql+ODeY3q7ybJxndIIRsITMRhiCw26OdMiRahYP+D4dFtEm
 6YG6weHqOhHSew7WoQcvYLjHnJSzMp/lQuB7a3ygZJXn8z6OVpC5873+aFPaEUgo
 ctyPhPRIlFN+OxogAL29/uL3Am+spgt+wy2dYQCWjsigf5pagJV83JP5UP+QDcc=
 =shf2
 -----END PGP SIGNATURE-----
 

Handle variable pointer in some optimizations (#2490)

* Check var pointer capability in ADCE.

* Check var ptr capability for common uniform.

* Check var ptr capability in access chain convert.

Since we want this pass to run even if there are variable pointer on
storage buffers, we had to remove asserts that assumed there were no
variable pointers.  The functions with the asserts will now work, it
becomes the responsibility of the callers to deal with the output as
appropriate.

* Single block elimination and variable pointers.

It seems like the code in local single block elimination is able to
handle cases with variable pointers already.  This is because the
function `HasOnlySupportedRefs` ensures that variables that feed a
variable pointer are not candidates.

* Single store elimination and variable pointers.

It seems like the code in local single stroe elimination is able to
handle cases with variable pointers already.  This is because the
function `FindSingleStoreAndCheckUses` ensures that variables that feed
a variable pointer are not candidates.

* SSA rewriter and variable pointers.

It seems like the code in the two passes that call the SSA rewriter are
able to  handle cases with variable pointers already.  This is because the
function `HasOnlySupportedRefs` ensures that variables that feed
a variable pointer are not candidates.

Fixes #2458.