compiler: additional lvalue/rvalue context fixes

Fix lvalue/rvalue context mixup Set_and_use_temporary_expression's
do_get_backend() method. Enhance Mark_lvalue_varexprs to handle
conversions and temporary reference expressions, since occasionally
the front end emits code such as "deref(conv(tempref)) = ...".

Change-Id: I4a2b5b82d553d04a695ad8c8bac0a3a1f106b566
Reviewed-on: https://go-review.googlesource.com/45141
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2 files changed