compiler: do simple deadcode elimination

Normally the backend will do deadcode elimination and this is
sufficient. However, the escape analysis operates on the AST that
may have deadcode, and may cause things to escape that otherwise
do not.

This CL adds a simple deadcode elimination, run before the escape
analysis.

Change-Id: I6c40808093fe195623f81e7d2257542d66d52a93
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/181080
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
6 files changed