compiler: generalize cleanup of unresolved placeholder pointer types

This change extends the work in https://golang.org/cl/51131 to include
placeholder pointer types created for Go function types, which can
also be left dangling/unresolved in some instances. This fixes an
assert in Llvm_backend::materializeComposite.

Test case can be found in https://golang.org/cl/191743.

Updates golang/go#33020.

Change-Id: I66094131916a2a7175f32654a7376d7db568f741
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/191744
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2 files changed