]> Cypherpunks repositories - gostls13.git/commit
cmd/compile/internal/ir: remove AsNode
authorMatthew Dempsky <mdempsky@google.com>
Fri, 18 Aug 2023 07:09:06 +0000 (00:09 -0700)
committerGopher Robot <gobot@golang.org>
Fri, 18 Aug 2023 22:41:47 +0000 (22:41 +0000)
commit7af28fa90ec2ce4c90ca47b6bc3e348ac8cb133a
treedc41f3af7b62c7dcc73791e43fe5a09fb39550ac
parent4089b6a5b13282a2fd3d1ec5b1a2d67825c5e6b2
cmd/compile/internal/ir: remove AsNode

Except for a single call site in escape analysis, every use of
ir.AsNode involves a types.Object that's known to contain
an *ir.Name. Asserting directly to that type makes the code simpler
and more efficient.

The one use in escape analysis is extended to handle nil correctly
without it.

Change-Id: I694ae516903e541341d82c2f65a9155e4b0a9809
Reviewed-on: https://go-review.googlesource.com/c/go/+/520775
TryBot-Bypass: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/cmd/compile/internal/escape/call.go
src/cmd/compile/internal/ir/expr.go
src/cmd/compile/internal/ir/node.go
src/cmd/compile/internal/reflectdata/alg.go
src/cmd/compile/internal/test/abiutilsaux_test.go
src/cmd/compile/internal/typecheck/syms.go