[dev.regabi] cmd/compile: cleanup for concrete types - const
[dev.regabi] cmd/compile: cleanup for concrete types - const

An automated rewrite will add concrete type assertions after
a test of n.Op(), when n can be safely type-asserted
(meaning, n is not reassigned a different type, n is not reassigned
and then used outside the scope of the type assertion,
and so on).

This sequence of CLs handles the code that the automated
rewrite does not: adding specific types to function arguments,
adjusting code not to call n.Left() etc when n may have multiple
representations, and so on.

This CL focuses on const.go.

Passes buildall w/ toolstash -cmp.

Change-Id: I824f18fa0344ddde56df0522f9fa5e237114bbe2
Reviewed-on: https://go-review.googlesource.com/c/go/+/277927
Trust: Russ Cox <5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org>
Reviewed-by: Matthew Dempsky <e56ac2c500064424afac424d4b5e53bd0570a731@google.com>

CAFxX/go,nawawi/go,cloudflare/go,CAFxX/go,nawawi/go,golang/go,nawawi/go,golang/go,CAFxX/go,CAFxX/go,cloudflare/go,golang/go,golang/go,nawawi/go,golang/go,CAFxX/go,nawawi/go,cloudflare/go,cloudflare/go,cloudflare/go,CAFxX/go,cloudflare/go,cloudflare/go,nawawi/go,cloudflare/go,golang/go,golang/go,CAFxX/go,nawawi/go,nawawi/go,golang/go,CAFxX/go