]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.regabi] cmd/compile: cleanup for concrete types - order
authorRuss Cox <rsc@golang.org>
Thu, 10 Dec 2020 23:45:35 +0000 (18:45 -0500)
committerRuss Cox <rsc@golang.org>
Thu, 17 Dec 2020 04:42:58 +0000 (04:42 +0000)
commitbf9bbbd6ed1d58433019c145c10082f4d5c062c9
tree9adc54d9bfe45e2384147e9d77afb81307bd9c3b
parent4ac6a6317b0e4ecbcc789ba606708ff08871a1df
[dev.regabi] cmd/compile: cleanup for concrete types - order

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 order.go.

Passes buildall w/ toolstash -cmp.

Change-Id: Ib5731905a620175a6fe978f512da593e0dae9d87
Reviewed-on: https://go-review.googlesource.com/c/go/+/277922
Trust: Russ Cox <rsc@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/gc/order.go
src/cmd/compile/internal/ir/stmt.go