tree 48817efbab6b48e390927ca7e06d615c91921c6a
parent 8b6938547b698ff9d9cbaf131767d67e5f190472
author Sean Risser <srisser@google.com> 1569526609 -0400
committer Sean Risser <srisser@google.com> 1569867913 +0000

Optimize "max(t, t)" to fold into just "t"

This masks a crash related to nested, unconditional continue statements.
Those constructs are known to be buggy, but we have elected to not fix
them at this point in time because the SWANGLE project will deprecate
all of Swiftshader's GLES backend.

It's unlikely that the remaining bug will effect many end-users as it
relies on bizarre control flow.

For logging purposes here is the shader code that reproduces an infinite
loop:

    void foo() { }

    void main() {
	for (int i = 0; i < 4; i++) {
	    continue;
	    for (int k = 0; k < 4; k++)
		continue;
	    foo();
	}
    }

I'm not adding this as a unit test since we aren't fixing our compiler.

Bug chromium:997283

Change-Id: Id31d70c4cd70a16fd20b7ebed18a82d5f8a705ba
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/36708
Tested-by: Sean Risser <srisser@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
