compiler: add explicit convert in Type_guard_expression::do_get_backend

The current recipe in Type_guard_expression for creating a Bexpression
performs a type conversion at the Type level, but doesn't invoke
Backend::convert_expression to capture the conversion for the back
end. Add code to create a BE type conversion operation.

Change-Id: I395b3ab9e8aa2c1413055f8df3d9a87b5a0d4ffa
Reviewed-on: https://go-review.googlesource.com/50373
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/go/expressions.cc b/go/expressions.cc
index 597f0a0..96a0731 100644
--- a/go/expressions.cc
+++ b/go/expressions.cc
@@ -14307,7 +14307,10 @@
         Expression::convert_for_assignment(context->gogo(), this->type_,
                                            this->expr_, this->location());
 
-  return conversion->get_backend(context);
+  Gogo* gogo = context->gogo();
+  Btype* bt = this->type_->get_backend(gogo);
+  Bexpression* bexpr = conversion->get_backend(context);
+  return gogo->backend()->convert_expression(bt, bexpr, this->location());
 }
 
 // Dump ast representation for a type guard expression.