mirror of
https://github.com/golang/go
synced 2024-11-17 07:54:41 -07:00
[dev.regabi] cmd/compile: remove a couple CloneName calls
In inl.go, that code path is unused, since we added ir.BasicLit to represent unnamed OLITERALs. In race.go, rather than cloning ir.RegFP, we can just create it from scratch again. Passes toolstash -cmp (incl. w/ -race). Change-Id: I8e063e4898d2acf056ceca5bc03df6b40a14eca9 Reviewed-on: https://go-review.googlesource.com/c/go/+/281192 Trust: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
This commit is contained in:
parent
907a4bfdc7
commit
8fc44cf0fa
@ -1096,15 +1096,6 @@ func (subst *inlsubst) node(n ir.Node) ir.Node {
|
|||||||
if n.Sym() != nil {
|
if n.Sym() != nil {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
if n, ok := n.(*ir.Name); ok && n.Op() == ir.OLITERAL {
|
|
||||||
// This happens for unnamed OLITERAL.
|
|
||||||
// which should really not be a *Name, but for now it is.
|
|
||||||
// ir.Copy(n) is not allowed generally and would panic below,
|
|
||||||
// but it's OK in this situation.
|
|
||||||
n = n.CloneName()
|
|
||||||
n.SetPos(subst.updatedPos(n.Pos()))
|
|
||||||
return n
|
|
||||||
}
|
|
||||||
|
|
||||||
case ir.ORETURN:
|
case ir.ORETURN:
|
||||||
// Since we don't handle bodies with closures,
|
// Since we don't handle bodies with closures,
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
"cmd/compile/internal/base"
|
"cmd/compile/internal/base"
|
||||||
"cmd/compile/internal/ir"
|
"cmd/compile/internal/ir"
|
||||||
"cmd/compile/internal/ssagen"
|
"cmd/compile/internal/ssagen"
|
||||||
|
"cmd/compile/internal/typecheck"
|
||||||
"cmd/compile/internal/types"
|
"cmd/compile/internal/types"
|
||||||
"cmd/internal/src"
|
"cmd/internal/src"
|
||||||
"cmd/internal/sys"
|
"cmd/internal/sys"
|
||||||
@ -36,7 +37,10 @@ func instrument(fn *ir.Func) {
|
|||||||
// This only works for amd64. This will not
|
// This only works for amd64. This will not
|
||||||
// work on arm or others that might support
|
// work on arm or others that might support
|
||||||
// race in the future.
|
// race in the future.
|
||||||
nodpc := ir.RegFP.CloneName()
|
|
||||||
|
nodpc := ir.NewNameAt(src.NoXPos, typecheck.Lookup(".fp"))
|
||||||
|
nodpc.Class_ = ir.PPARAM
|
||||||
|
nodpc.SetUsed(true)
|
||||||
nodpc.SetType(types.Types[types.TUINTPTR])
|
nodpc.SetType(types.Types[types.TUINTPTR])
|
||||||
nodpc.SetFrameOffset(int64(-types.PtrSize))
|
nodpc.SetFrameOffset(int64(-types.PtrSize))
|
||||||
fn.Dcl = append(fn.Dcl, nodpc)
|
fn.Dcl = append(fn.Dcl, nodpc)
|
||||||
|
Loading…
Reference in New Issue
Block a user