]> Cypherpunks repositories - gostls13.git/commit
[dev.regabi] cmd/compile: address some ir TODOs
authorMatthew Dempsky <mdempsky@google.com>
Tue, 29 Dec 2020 01:06:43 +0000 (17:06 -0800)
committerMatthew Dempsky <mdempsky@google.com>
Tue, 29 Dec 2020 02:49:00 +0000 (02:49 +0000)
commit6acbae4fcc640715efd01cb161a65e1e04fda3cb
tree388b4f93df6d3aa1c03731bb82c1ab43c7245d4e
parent4629f6a51da5afabbebe9616f65fbfe0675d6039
[dev.regabi] cmd/compile: address some ir TODOs

Previously, ODOTTYPE/ODOTTYPE2 were forced to reuse some available
Node fields for storing pointers to runtime type descriptors. This
resulted in awkward field types for TypeAssertExpr and AddrExpr.

This CL gives TypeAssertExpr proper fields for the runtime type
descriptors, and also tightens the field types as
possible/appropriate.

Passes toolstash -cmp.

Change-Id: I521ee7a1462affc5459de33a0de6c68a7d6416ba
Reviewed-on: https://go-review.googlesource.com/c/go/+/280637
Trust: Matthew Dempsky <mdempsky@google.com>
Trust: Dan Scales <danscales@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
src/cmd/compile/internal/ir/expr.go
src/cmd/compile/internal/ir/node_gen.go
src/cmd/compile/internal/ssagen/ssa.go
src/cmd/compile/internal/typecheck/expr.go
src/cmd/compile/internal/walk/expr.go