cmd/gc: do not generate code for var _ = ... unless necessary

Fixes #2443.

R=ken2
CC=golang-dev
https://golang.org/cl/6997048
diff --git a/test/sinit.go b/test/sinit.go
index ffb8ef7..5e50e11 100644
--- a/test/sinit.go
+++ b/test/sinit.go
@@ -259,3 +259,13 @@
 var copy_pt0b = pt0b
 var copy_pt1 = pt1
 var copy_pt1a = pt1a
+
+var _ interface{} = 1
+
+type T1 int
+
+func (t *T1) M() {}
+
+type Mer interface { M() }
+
+var _ Mer = (*T1)(nil)