Fix materialization of function arguments
Subzero does not appear to preserve function arguments passed in as
registers onto the stack by itself. Any scratch registers can get reused
for local variable register allocation.
This workaround simply materializes each concrete Reactor variable
constructed from an argument on definition. It does not ensure that
arguments turned into variables at a later point are properly preserved.
Also this solution does not centralize the materialization, making it
bug prone when new concrete Reactor types are implemented.
Bug b/129757459
Change-Id: I1007ea0e7204d05e60203b2e896589a03fc515a9
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28309Tested-by:
Nicolas Capens <nicolascapens@google.com>
Reviewed-by:
Ben Clayton <bclayton@google.com>
Showing
Please
register
or
sign in
to comment