OSDN Git Service

Reduce temporaries used during rvalue evaluation.
authorNicolas Capens <capn@google.com>
Thu, 16 Nov 2017 15:42:20 +0000 (10:42 -0500)
committerNicolas Capens <nicolascapens@google.com>
Thu, 16 Nov 2017 22:28:20 +0000 (22:28 +0000)
commitd469de2d10e7d0035b93cf976ecd59dca66d9ef8
tree4ee2f1ade7a00898636d1cd9ac52cb2c2925f5be
parent3ae571eda128f994413c1d1e780ca8937e93699c
Reduce temporaries used during rvalue evaluation.

This optimizes evaluation of chained indexing operations by first
looking for an lvalue 'root' node and copying from it directly into the
topmost rvalue, instead of creating potentially many temporaries.

Change-Id: I47cf9b0230bd305695e7b2a44ddc44bc1320b764
Reviewed-on: https://swiftshader-review.googlesource.com/13908
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
src/OpenGL/compiler/OutputASM.cpp
src/OpenGL/compiler/OutputASM.h