]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: remove Addable flag
authorMatthew Dempsky <mdempsky@google.com>
Sat, 12 Oct 2019 23:05:34 +0000 (16:05 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Sun, 13 Oct 2019 01:48:30 +0000 (01:48 +0000)
This flag is supposed to indicate whether the expression is
"addressable"; but in practice, we infer this from other
attributes about the expression (e.g., n.Op and n.Class()).

Passes toolstash-check.

Change-Id: I19352ca07ab5646e232d98e8a7c1c9aec822ddd0
Reviewed-on: https://go-review.googlesource.com/c/go/+/200897
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/dcl.go
src/cmd/compile/internal/gc/esc.go
src/cmd/compile/internal/gc/fmt.go
src/cmd/compile/internal/gc/reflect.go
src/cmd/compile/internal/gc/sinit.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/gc/subr.go
src/cmd/compile/internal/gc/syntax.go
src/cmd/compile/internal/gc/walk.go

index 44ef64f32957a3517e4e3ce67f83ccc2b8cfd7ae..8168f739f4439b13855f7826d011964973a9cfbc 100644 (file)
@@ -203,7 +203,6 @@ func newnoname(s *types.Sym) *Node {
        }
        n := nod(ONONAME, nil, nil)
        n.Sym = s
-       n.SetAddable(true)
        n.Xoffset = 0
        return n
 }
@@ -282,7 +281,6 @@ func oldname(s *types.Sym) *Node {
                        c.SetIsClosureVar(true)
                        c.SetIsDDD(n.IsDDD())
                        c.Name.Defn = n
-                       c.SetAddable(false)
 
                        // Link into list of active closure variables.
                        // Popped from list in func closurebody.
index 0bb666dfaf1e3e731f52db4b6655af70030fa7c3..92f229b97f0b0a1407bc1d3db762412c29e4d10a 100644 (file)
@@ -283,7 +283,6 @@ func moveToHeap(n *Node) {
                // and substitute that copy into the function declaration list
                // so that analyses of the local (on-stack) variables use it.
                stackcopy := newname(n.Sym)
-               stackcopy.SetAddable(false)
                stackcopy.Type = n.Type
                stackcopy.Xoffset = n.Xoffset
                stackcopy.SetClass(n.Class())
index 87e0e40dca13aad6e5178f26ae14ca6948fe5ad6..877bbe44692ba6a27d0bac7cb5dbf59ae7fe65b4 100644 (file)
@@ -417,10 +417,6 @@ func (n *Node) format(s fmt.State, verb rune, mode fmtMode) {
 func (n *Node) jconv(s fmt.State, flag FmtFlag) {
        c := flag & FmtShort
 
-       if c == 0 && n.Addable() {
-               fmt.Fprintf(s, " a(%v)", n.Addable())
-       }
-
        if c == 0 && n.Name != nil && n.Name.Vargen != 0 {
                fmt.Fprintf(s, " g(%d)", n.Name.Vargen)
        }
index b2b5deb74e14c142bb66a62dac2359b1c7b6d773..9e3dca25c81e4e36e00bb7c10f11cc8dc52a2760 100644 (file)
@@ -1024,7 +1024,6 @@ func typename(t *types.Type) *Node {
 
        n := nod(OADDR, asNode(s.Def), nil)
        n.Type = types.NewPtr(asNode(s.Def).Type)
-       n.SetAddable(true)
        n.SetTypecheck(1)
        return n
 }
@@ -1045,7 +1044,6 @@ func itabname(t, itype *types.Type) *Node {
 
        n := nod(OADDR, asNode(s.Def), nil)
        n.Type = types.NewPtr(asNode(s.Def).Type)
-       n.SetAddable(true)
        n.SetTypecheck(1)
        return n
 }
@@ -1886,7 +1884,6 @@ func zeroaddr(size int64) *Node {
        }
        z := nod(OADDR, asNode(s.Def), nil)
        z.Type = types.NewPtr(types.Types[TUINT8])
-       z.SetAddable(true)
        z.SetTypecheck(1)
        return z
 }
index 96b343081a625ee4788e58befeb3deff14d72581..5f05a2c72f36ffc72d2f3709fabb52c29e157f38 100644 (file)
@@ -388,7 +388,7 @@ func isLiteral(n *Node) bool {
 }
 
 func (n *Node) isSimpleName() bool {
-       return n.Op == ONAME && n.Addable() && n.Class() != PAUTOHEAP && n.Class() != PEXTERN
+       return n.Op == ONAME && n.Class() != PAUTOHEAP && n.Class() != PEXTERN
 }
 
 func litas(l *Node, r *Node, init *Nodes) {
@@ -1018,7 +1018,7 @@ func stataddr(nam *Node, n *Node) bool {
        switch n.Op {
        case ONAME:
                *nam = *n
-               return n.Addable()
+               return true
 
        case ODOT:
                if !stataddr(nam, n.Left) {
index a263fa7e996baf4c48521b141a0f3118253b218c..be09fc5f83e89d348dc3a381e5d7fb2e0b1beba8 100644 (file)
@@ -6151,7 +6151,6 @@ func (e *ssafn) splitSlot(parent *ssa.LocalSlot, suffix string, offset int64, t
        n.Sym = s
        n.Type = t
        n.SetClass(PAUTO)
-       n.SetAddable(true)
        n.Esc = EscNever
        n.Name.Curfn = e.curfn
        e.curfn.Func.Dcl = append(e.curfn.Func.Dcl, n)
index 27326f67a1143674bfbd2f341f0b4284fad20f70..3b085a0d6423040f26bd8d4888e9436fcb5db539 100644 (file)
@@ -370,7 +370,6 @@ func newnamel(pos src.XPos, s *types.Sym) *Node {
        n.Orig = n
 
        n.Sym = s
-       n.SetAddable(true)
        return n
 }
 
index 08edef9496a65313787978b7dbc85c7ae42a83d1..69d8a5590b828b50fd5acc4f377d738e14badd28 100644 (file)
@@ -153,7 +153,6 @@ const (
        _, nodeNonNil    // guaranteed to be non-nil
        _, nodeTransient // storage can be reused immediately after this statement
        _, nodeBounded   // bounds check unnecessary
-       _, nodeAddable   // addressable
        _, nodeHasCall   // expression contains a function call
        _, nodeLikely    // if statement condition likely
        _, nodeHasVal    // node.E contains a Val
@@ -181,7 +180,6 @@ func (n *Node) Colas() bool                 { return n.flags&nodeColas != 0 }
 func (n *Node) NonNil() bool                { return n.flags&nodeNonNil != 0 }
 func (n *Node) Transient() bool             { return n.flags&nodeTransient != 0 }
 func (n *Node) Bounded() bool               { return n.flags&nodeBounded != 0 }
-func (n *Node) Addable() bool               { return n.flags&nodeAddable != 0 }
 func (n *Node) HasCall() bool               { return n.flags&nodeHasCall != 0 }
 func (n *Node) Likely() bool                { return n.flags&nodeLikely != 0 }
 func (n *Node) HasVal() bool                { return n.flags&nodeHasVal != 0 }
@@ -208,7 +206,6 @@ func (n *Node) SetColas(b bool)                 { n.flags.set(nodeColas, b) }
 func (n *Node) SetNonNil(b bool)                { n.flags.set(nodeNonNil, b) }
 func (n *Node) SetTransient(b bool)             { n.flags.set(nodeTransient, b) }
 func (n *Node) SetBounded(b bool)               { n.flags.set(nodeBounded, b) }
-func (n *Node) SetAddable(b bool)               { n.flags.set(nodeAddable, b) }
 func (n *Node) SetHasCall(b bool)               { n.flags.set(nodeHasCall, b) }
 func (n *Node) SetLikely(b bool)                { n.flags.set(nodeLikely, b) }
 func (n *Node) SetHasVal(b bool)                { n.flags.set(nodeHasVal, b) }
index 041d36892235bd2d2c863f67bf68976ecf975265..325eea019fc8cdfe53113d7f89f691384bca6baa 100644 (file)
@@ -564,7 +564,6 @@ opswitch:
                n = mkcall("gorecover", n.Type, init, nod(OADDR, nodfp, nil))
 
        case OCLOSUREVAR, OCFUNC:
-               n.SetAddable(true)
 
        case OCALLINTER, OCALLFUNC, OCALLMETH:
                if n.Op == OCALLINTER {