[dev.regabi] cmd/compile: rename NameOffsetExpr to LinksymOffsetExpr

Updates #43737

[git-generate]

cd src/cmd/compile/internal/ir

rf '
  mv NameOffsetExpr LinksymOffsetExpr
  mv ONAMEOFFSET OLINKSYMOFFSET
'

go generate

Change-Id: I8c6b8aa576e88278c0320d16bb2e8e424a15b907
Reviewed-on: https://go-review.googlesource.com/c/go/+/284120
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>
This commit is contained in:
Cuong Manh Le 2021-01-17 00:47:12 +07:00
parent 82b9cae700
commit 59ff93fe64
10 changed files with 51 additions and 51 deletions

View file

@ -585,7 +585,7 @@ func (e *escape) exprSkipInit(k hole, n ir.Node) {
default: default:
base.Fatalf("unexpected expr: %v", n) base.Fatalf("unexpected expr: %v", n)
case ir.OLITERAL, ir.ONIL, ir.OGETG, ir.OTYPE, ir.OMETHEXPR, ir.ONAMEOFFSET: case ir.OLITERAL, ir.ONIL, ir.OGETG, ir.OTYPE, ir.OMETHEXPR, ir.OLINKSYMOFFSET:
// nop // nop
case ir.ONAME: case ir.ONAME:
@ -871,7 +871,7 @@ func (e *escape) addr(n ir.Node) hole {
break break
} }
k = e.oldLoc(n).asHole() k = e.oldLoc(n).asHole()
case ir.ONAMEOFFSET: case ir.OLINKSYMOFFSET:
break break
case ir.ODOT: case ir.ODOT:
n := n.(*ir.SelectorExpr) n := n.(*ir.SelectorExpr)

View file

@ -462,22 +462,22 @@ func NewResultExpr(pos src.XPos, typ *types.Type, offset int64) *ResultExpr {
return n return n
} }
// A NameOffsetExpr refers to an offset within a global variable. // A LinksymOffsetExpr refers to an offset within a global variable.
// It is like a SelectorExpr but without the field name. // It is like a SelectorExpr but without the field name.
type NameOffsetExpr struct { type LinksymOffsetExpr struct {
miniExpr miniExpr
Linksym *obj.LSym Linksym *obj.LSym
Offset_ int64 Offset_ int64
} }
func NewLinksymOffsetExpr(pos src.XPos, lsym *obj.LSym, offset int64, typ *types.Type) *NameOffsetExpr { func NewLinksymOffsetExpr(pos src.XPos, lsym *obj.LSym, offset int64, typ *types.Type) *LinksymOffsetExpr {
n := &NameOffsetExpr{Linksym: lsym, Offset_: offset} n := &LinksymOffsetExpr{Linksym: lsym, Offset_: offset}
n.typ = typ n.typ = typ
n.op = ONAMEOFFSET n.op = OLINKSYMOFFSET
return n return n
} }
func NewNameOffsetExpr(pos src.XPos, name *Name, offset int64, typ *types.Type) *NameOffsetExpr { func NewNameOffsetExpr(pos src.XPos, name *Name, offset int64, typ *types.Type) *LinksymOffsetExpr {
if name == nil || IsBlank(name) || !(name.Op() == ONAME && name.Class == PEXTERN) { if name == nil || IsBlank(name) || !(name.Op() == ONAME && name.Class == PEXTERN) {
base.FatalfAt(pos, "cannot take offset of nil, blank name or non-global variable: %v", name) base.FatalfAt(pos, "cannot take offset of nil, blank name or non-global variable: %v", name)
} }
@ -731,7 +731,7 @@ func IsAddressable(n Node) bool {
} }
return true return true
case ONAMEOFFSET: case OLINKSYMOFFSET:
return true return true
} }

View file

@ -632,8 +632,8 @@ func exprFmt(n Node, s fmt.State, prec int) {
case OPACK, ONONAME: case OPACK, ONONAME:
fmt.Fprint(s, n.Sym()) fmt.Fprint(s, n.Sym())
case ONAMEOFFSET: case OLINKSYMOFFSET:
n := n.(*NameOffsetExpr) n := n.(*LinksymOffsetExpr)
fmt.Fprintf(s, "(%v)(%s@%d)", n.Type(), n.Linksym.Name, n.Offset_) fmt.Fprintf(s, "(%v)(%s@%d)", n.Type(), n.Linksym.Name, n.Offset_)
case OTYPE: case OTYPE:

View file

@ -303,7 +303,7 @@ const (
OVARLIVE // variable is alive OVARLIVE // variable is alive
ORESULT // result of a function call; Xoffset is stack offset ORESULT // result of a function call; Xoffset is stack offset
OINLMARK // start of an inlined body, with file/line of caller. Xoffset is an index into the inline tree. OINLMARK // start of an inlined body, with file/line of caller. Xoffset is an index into the inline tree.
ONAMEOFFSET // offset within a name OLINKSYMOFFSET // offset within a name
// arch-specific opcodes // arch-specific opcodes
ORETJMP // return to other function ORETJMP // return to other function

View file

@ -734,6 +734,22 @@ func (n *LabelStmt) editChildren(edit func(Node) Node) {
editNodes(n.init, edit) editNodes(n.init, edit)
} }
func (n *LinksymOffsetExpr) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) }
func (n *LinksymOffsetExpr) copy() Node {
c := *n
c.init = copyNodes(c.init)
return &c
}
func (n *LinksymOffsetExpr) doChildren(do func(Node) bool) bool {
if doNodes(n.init, do) {
return true
}
return false
}
func (n *LinksymOffsetExpr) editChildren(edit func(Node) Node) {
editNodes(n.init, edit)
}
func (n *LogicalExpr) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) } func (n *LogicalExpr) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) }
func (n *LogicalExpr) copy() Node { func (n *LogicalExpr) copy() Node {
c := *n c := *n
@ -815,22 +831,6 @@ func (n *MapType) editChildren(edit func(Node) Node) {
func (n *Name) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) } func (n *Name) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) }
func (n *NameOffsetExpr) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) }
func (n *NameOffsetExpr) copy() Node {
c := *n
c.init = copyNodes(c.init)
return &c
}
func (n *NameOffsetExpr) doChildren(do func(Node) bool) bool {
if doNodes(n.init, do) {
return true
}
return false
}
func (n *NameOffsetExpr) editChildren(edit func(Node) Node) {
editNodes(n.init, edit)
}
func (n *NilExpr) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) } func (n *NilExpr) Format(s fmt.State, verb rune) { fmtNode(n, s, verb) }
func (n *NilExpr) copy() Node { func (n *NilExpr) copy() Node {
c := *n c := *n

View file

@ -156,15 +156,15 @@ func _() {
_ = x[OVARLIVE-145] _ = x[OVARLIVE-145]
_ = x[ORESULT-146] _ = x[ORESULT-146]
_ = x[OINLMARK-147] _ = x[OINLMARK-147]
_ = x[ONAMEOFFSET-148] _ = x[OLINKSYMOFFSET-148]
_ = x[ORETJMP-149] _ = x[ORETJMP-149]
_ = x[OGETG-150] _ = x[OGETG-150]
_ = x[OEND-151] _ = x[OEND-151]
} }
const _Op_name = "XXXNAMENONAMETYPEPACKLITERALNILADDSUBORXORADDSTRADDRANDANDAPPENDBYTES2STRBYTES2STRTMPRUNES2STRSTR2BYTESSTR2BYTESTMPSTR2RUNESASAS2AS2DOTTYPEAS2FUNCAS2MAPRAS2RECVASOPCALLCALLFUNCCALLMETHCALLINTERCALLPARTCAPCLOSECLOSURECOMPLITMAPLITSTRUCTLITARRAYLITSLICELITPTRLITCONVCONVIFACECONVNOPCOPYDCLDCLFUNCDCLCONSTDCLTYPEDELETEDOTDOTPTRDOTMETHDOTINTERXDOTDOTTYPEDOTTYPE2EQNELTLEGEGTDEREFINDEXINDEXMAPKEYSTRUCTKEYLENMAKEMAKECHANMAKEMAPMAKESLICEMAKESLICECOPYMULDIVMODLSHRSHANDANDNOTNEWNOTBITNOTPLUSNEGORORPANICPRINTPRINTNPARENSENDSLICESLICEARRSLICESTRSLICE3SLICE3ARRSLICEHEADERRECOVERRECVRUNESTRSELRECV2IOTAREALIMAGCOMPLEXALIGNOFOFFSETOFSIZEOFMETHEXPRSTMTEXPRBLOCKBREAKCASECONTINUEDEFERFALLFORFORUNTILGOTOIFLABELGORANGERETURNSELECTSWITCHTYPESWTCHANTMAPTSTRUCTTINTERTFUNCTARRAYTSLICEINLCALLEFACEITABIDATASPTRCFUNCCHECKNILVARDEFVARKILLVARLIVERESULTINLMARKNAMEOFFSETRETJMPGETGEND" const _Op_name = "XXXNAMENONAMETYPEPACKLITERALNILADDSUBORXORADDSTRADDRANDANDAPPENDBYTES2STRBYTES2STRTMPRUNES2STRSTR2BYTESSTR2BYTESTMPSTR2RUNESASAS2AS2DOTTYPEAS2FUNCAS2MAPRAS2RECVASOPCALLCALLFUNCCALLMETHCALLINTERCALLPARTCAPCLOSECLOSURECOMPLITMAPLITSTRUCTLITARRAYLITSLICELITPTRLITCONVCONVIFACECONVNOPCOPYDCLDCLFUNCDCLCONSTDCLTYPEDELETEDOTDOTPTRDOTMETHDOTINTERXDOTDOTTYPEDOTTYPE2EQNELTLEGEGTDEREFINDEXINDEXMAPKEYSTRUCTKEYLENMAKEMAKECHANMAKEMAPMAKESLICEMAKESLICECOPYMULDIVMODLSHRSHANDANDNOTNEWNOTBITNOTPLUSNEGORORPANICPRINTPRINTNPARENSENDSLICESLICEARRSLICESTRSLICE3SLICE3ARRSLICEHEADERRECOVERRECVRUNESTRSELRECV2IOTAREALIMAGCOMPLEXALIGNOFOFFSETOFSIZEOFMETHEXPRSTMTEXPRBLOCKBREAKCASECONTINUEDEFERFALLFORFORUNTILGOTOIFLABELGORANGERETURNSELECTSWITCHTYPESWTCHANTMAPTSTRUCTTINTERTFUNCTARRAYTSLICEINLCALLEFACEITABIDATASPTRCFUNCCHECKNILVARDEFVARKILLVARLIVERESULTINLMARKLINKSYMOFFSETRETJMPGETGEND"
var _Op_index = [...]uint16{0, 3, 7, 13, 17, 21, 28, 31, 34, 37, 39, 42, 48, 52, 58, 64, 73, 85, 94, 103, 115, 124, 126, 129, 139, 146, 153, 160, 164, 168, 176, 184, 193, 201, 204, 209, 216, 223, 229, 238, 246, 254, 260, 264, 273, 280, 284, 287, 294, 302, 309, 315, 318, 324, 331, 339, 343, 350, 358, 360, 362, 364, 366, 368, 370, 375, 380, 388, 391, 400, 403, 407, 415, 422, 431, 444, 447, 450, 453, 456, 459, 462, 468, 471, 474, 480, 484, 487, 491, 496, 501, 507, 512, 516, 521, 529, 537, 543, 552, 563, 570, 574, 581, 589, 593, 597, 601, 608, 615, 623, 629, 637, 645, 650, 655, 659, 667, 672, 676, 679, 687, 691, 693, 698, 700, 705, 711, 717, 723, 729, 734, 738, 745, 751, 756, 762, 768, 775, 780, 784, 789, 793, 798, 806, 812, 819, 826, 832, 839, 849, 855, 859, 862} var _Op_index = [...]uint16{0, 3, 7, 13, 17, 21, 28, 31, 34, 37, 39, 42, 48, 52, 58, 64, 73, 85, 94, 103, 115, 124, 126, 129, 139, 146, 153, 160, 164, 168, 176, 184, 193, 201, 204, 209, 216, 223, 229, 238, 246, 254, 260, 264, 273, 280, 284, 287, 294, 302, 309, 315, 318, 324, 331, 339, 343, 350, 358, 360, 362, 364, 366, 368, 370, 375, 380, 388, 391, 400, 403, 407, 415, 422, 431, 444, 447, 450, 453, 456, 459, 462, 468, 471, 474, 480, 484, 487, 491, 496, 501, 507, 512, 516, 521, 529, 537, 543, 552, 563, 570, 574, 581, 589, 593, 597, 601, 608, 615, 623, 629, 637, 645, 650, 655, 659, 667, 672, 676, 679, 687, 691, 693, 698, 700, 705, 711, 717, 723, 729, 734, 738, 745, 751, 756, 762, 768, 775, 780, 784, 789, 793, 798, 806, 812, 819, 826, 832, 839, 852, 858, 862, 865}
func (i Op) String() string { func (i Op) String() string {
if i >= Op(len(_Op_index)-1) { if i >= Op(len(_Op_index)-1) {

View file

@ -2258,8 +2258,8 @@ func (s *state) expr(n ir.Node) *ssa.Value {
return s.variable(n, n.Type()) return s.variable(n, n.Type())
} }
return s.load(n.Type(), s.addr(n)) return s.load(n.Type(), s.addr(n))
case ir.ONAMEOFFSET: case ir.OLINKSYMOFFSET:
n := n.(*ir.NameOffsetExpr) n := n.(*ir.LinksymOffsetExpr)
return s.load(n.Type(), s.addr(n)) return s.load(n.Type(), s.addr(n))
case ir.ONIL: case ir.ONIL:
n := n.(*ir.NilExpr) n := n.(*ir.NilExpr)
@ -5092,8 +5092,8 @@ func (s *state) addr(n ir.Node) *ssa.Value {
return v return v
} }
switch n.Op() { switch n.Op() {
case ir.ONAMEOFFSET: case ir.OLINKSYMOFFSET:
no := n.(*ir.NameOffsetExpr) no := n.(*ir.LinksymOffsetExpr)
return linksymOffset(no.Linksym, no.Offset_) return linksymOffset(no.Linksym, no.Offset_)
case ir.ONAME: case ir.ONAME:
n := n.(*ir.Name) n := n.(*ir.Name)

View file

@ -521,7 +521,7 @@ func typecheck1(n ir.Node, top int) ir.Node {
} }
return n return n
case ir.ONAMEOFFSET: case ir.OLINKSYMOFFSET:
// type already set // type already set
return n return n

View file

@ -85,7 +85,7 @@ func walkExpr1(n ir.Node, init *ir.Nodes) ir.Node {
case ir.ONONAME, ir.OGETG: case ir.ONONAME, ir.OGETG:
return n return n
case ir.OTYPE, ir.ONAME, ir.OLITERAL, ir.ONIL, ir.ONAMEOFFSET: case ir.OTYPE, ir.ONAME, ir.OLITERAL, ir.ONIL, ir.OLINKSYMOFFSET:
// TODO(mdempsky): Just return n; see discussion on CL 38655. // TODO(mdempsky): Just return n; see discussion on CL 38655.
// Perhaps refactor to use Node.mayBeShared for these instead. // Perhaps refactor to use Node.mayBeShared for these instead.
// If these return early, make sure to still call // If these return early, make sure to still call
@ -357,7 +357,7 @@ func safeExpr(n ir.Node, init *ir.Nodes) ir.Node {
} }
switch n.Op() { switch n.Op() {
case ir.ONAME, ir.OLITERAL, ir.ONIL, ir.ONAMEOFFSET: case ir.ONAME, ir.OLITERAL, ir.ONIL, ir.OLINKSYMOFFSET:
return n return n
case ir.OLEN, ir.OCAP: case ir.OLEN, ir.OCAP:

View file

@ -316,7 +316,7 @@ func mayCall(n ir.Node) bool {
n := n.(*ir.ConvExpr) n := n.(*ir.ConvExpr)
return ssagen.Arch.SoftFloat && (isSoftFloat(n.Type()) || isSoftFloat(n.X.Type())) return ssagen.Arch.SoftFloat && (isSoftFloat(n.Type()) || isSoftFloat(n.X.Type()))
case ir.OLITERAL, ir.ONIL, ir.ONAME, ir.ONAMEOFFSET, ir.OMETHEXPR, case ir.OLITERAL, ir.ONIL, ir.ONAME, ir.OLINKSYMOFFSET, ir.OMETHEXPR,
ir.OAND, ir.OANDNOT, ir.OLSH, ir.OOR, ir.ORSH, ir.OXOR, ir.OCOMPLEX, ir.OEFACE, ir.OAND, ir.OANDNOT, ir.OLSH, ir.OOR, ir.ORSH, ir.OXOR, ir.OCOMPLEX, ir.OEFACE,
ir.OANDAND, ir.OOROR, ir.OANDAND, ir.OOROR,
ir.OADDR, ir.OBITNOT, ir.ONOT, ir.OPLUS, ir.OADDR, ir.OBITNOT, ir.ONOT, ir.OPLUS,