compiler: avoid orphaning Bexpressions when processing conversions

The method Type_conversion_expression::do_get_backend was (in some
circumstances) creating a Bexpression for the source expression of the
conversion and then throwing it away before using it. Fix up this
method to insure that the call to get_backend() on the source
expression is only made when the result will be used.

Change-Id: I8424ed358a0455e72aa25ee9c3642c70404db9f5
Reviewed-on: https://go-review.googlesource.com/45350
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
1 file changed