From dfbcff80c65991e90b7a06a09e4399f7725356dc Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Thu, 31 Dec 2020 16:51:12 +0700 Subject: [PATCH] [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 --- src/cmd/compile/internal/walk/order.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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) } } } -- 2.50.0