diff options
| author | Dan Scales <danscales@google.com> | 2021-03-17 17:54:41 -0700 |
|---|---|---|
| committer | Dan Scales <danscales@google.com> | 2021-03-18 17:14:39 +0000 |
| commit | f47fab938eb19e383258b3501560b46d2e47158a (patch) | |
| tree | 9e5b2e84ab2b5370c2bdd730fa149fdaac64f373 /src/cmd/compile/internal/noder/expr.go | |
| parent | eaa1ddee84cfdfbd47183b03962744fea52624f0 (diff) | |
| download | go-f47fab938eb19e383258b3501560b46d2e47158a.tar.xz | |
cmd/compile: remove unneeded calls to typecheck in noder2
Remove unneeded calls to typecheck in noder2 associated with g.use() and
g.obj(). These routines are already setting the types2-derived type
correctly for ONAME nodes, and there is no typechecker1-related
transformations related to ONAME nodes, other than making sure that
newly created closure variables have their type set.
Tested through normal -G=3 testing in all.bash (all of go/tests).
Change-Id: I1b790ab9948959685fca3a768401458201833671
Reviewed-on: https://go-review.googlesource.com/c/go/+/303029
Run-TryBot: Dan Scales <danscales@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
Trust: Dan Scales <danscales@google.com>
Diffstat (limited to 'src/cmd/compile/internal/noder/expr.go')
| -rw-r--r-- | src/cmd/compile/internal/noder/expr.go | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/cmd/compile/internal/noder/expr.go b/src/cmd/compile/internal/noder/expr.go index 1ca5552879..957295bdf0 100644 --- a/src/cmd/compile/internal/noder/expr.go +++ b/src/cmd/compile/internal/noder/expr.go @@ -30,7 +30,6 @@ func (g *irgen) expr(expr syntax.Expr) ir.Node { } switch { case tv.IsBuiltin(): - // TODO(mdempsky): Handle in CallExpr? return g.use(expr.(*syntax.Name)) case tv.IsType(): return ir.TypeNode(g.typ(tv.Type)) @@ -82,8 +81,7 @@ func (g *irgen) expr0(typ types2.Type, expr syntax.Expr) ir.Node { if _, isNil := g.info.Uses[expr].(*types2.Nil); isNil { return Nil(pos, g.typ(typ)) } - // TODO(mdempsky): Remove dependency on typecheck.Expr. - return typecheck.Expr(g.use(expr)) + return g.use(expr) case *syntax.CompositeLit: return g.compLit(typ, expr) @@ -157,8 +155,7 @@ func (g *irgen) expr0(typ types2.Type, expr syntax.Expr) ir.Node { // Qualified identifier. if name, ok := expr.X.(*syntax.Name); ok { if _, ok := g.info.Uses[name].(*types2.PkgName); ok { - // TODO(mdempsky): Remove dependency on typecheck.Expr. - return typecheck.Expr(g.use(expr.Sel)) + return g.use(expr.Sel) } } return g.selectorExpr(pos, typ, expr) |
