From: Cuong Manh Le Date: Thu, 31 Dec 2020 09:51:12 +0000 (+0700) Subject: [dev.regabi] cmd/compile: make copyExpr return *ir.Name directly X-Git-Tag: go1.17beta1~1539^2~165 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=dfbcff80c65991e90b7a06a09e4399f7725356dc;p=gostls13.git [dev.regabi] cmd/compile: make copyExpr return *ir.Name directly copyExpr just calls copyExpr1 with "clear" is false, so make it return *ir.Name directly instead of ir.Node Passes toolstash -cmp. Change-Id: I31ca1d88d9eaf8ac37517022f1c74285ffce07d3 Reviewed-on: https://go-review.googlesource.com/c/go/+/280714 Trust: Cuong Manh Le Run-TryBot: Cuong Manh Le TryBot-Result: Go Bot Reviewed-by: Matthew Dempsky --- diff --git a/src/cmd/compile/internal/walk/order.go b/src/cmd/compile/internal/walk/order.go index 681f5dcc76..a2bd0cf10a 100644 --- a/src/cmd/compile/internal/walk/order.go +++ b/src/cmd/compile/internal/walk/order.go @@ -102,7 +102,7 @@ func (o *orderState) newTemp(t *types.Type, clear bool) *ir.Name { // copyExpr behaves like newTemp but also emits // code to initialize the temporary to the value n. -func (o *orderState) copyExpr(n ir.Node) ir.Node { +func (o *orderState) copyExpr(n ir.Node) *ir.Name { return o.copyExpr1(n, false) } @@ -518,7 +518,7 @@ func (o *orderState) call(nn ir.Node) { x := o.copyExpr(arg.X) arg.X = x x.Name().SetAddrtaken(true) // ensure SSA keeps the x variable - n.KeepAlive = append(n.KeepAlive, x.(*ir.Name)) + n.KeepAlive = append(n.KeepAlive, x) } } }