compiler: use a single temporary for calls with multiple results
For calls that return multiple results we used to create a temporary
of struct type to hold the results, and also create a separate
temporary for each result. Then the call expression would copy each
result out of the struct to the temporary, and Call_result_expression
would refer to the desired temporary.
Simplify this to just use a single temporary of struct type, and
change Call_result_expression to fetch a field of the struct.
This may reduce some incorrect tree sharing in the backend code.
Change-Id: I305d8c535c17a3b29bcdbbed16da30cfd0a7b393
Reviewed-on: https://go-review.googlesource.com/51770
Reviewed-by: Than McIntosh <thanm@google.com>
2 files changed