]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.regabi] cmd/compile: make copyExpr return *ir.Name directly
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Thu, 31 Dec 2020 09:51:12 +0000 (16:51 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Thu, 31 Dec 2020 10:55:44 +0000 (10:55 +0000)
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 <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/walk/order.go

index 681f5dcc76501e7e05c5b03541a50f9cd9a45af6..a2bd0cf10aca648467f86d04af38b3c83e925520 100644 (file)
@@ -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)
                        }
                }
        }