]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: use dereference boundedness hint in ssa.addr
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 20 Apr 2020 15:47:08 +0000 (08:47 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 20 Apr 2020 17:27:11 +0000 (17:27 +0000)
Follow-up to (and similar to) CL 228885.
Triggers a handful of times in std+cmd.

Change-Id: Ie04057ca3974ef9eef669335e326a5ed4b7472cc
Reviewed-on: https://go-review.googlesource.com/c/go/+/228999
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/gc/ssa.go

index 0536a948d4ff182f783820737215eda329659130..f873defb24a593c8b0cbe671fcae985473622434 100644 (file)
@@ -4638,12 +4638,12 @@ func (s *state) addr(n *Node) *ssa.Value {
                        return s.newValue2(ssa.OpPtrIndex, types.NewPtr(n.Left.Type.Elem()), a, i)
                }
        case ODEREF:
-               return s.exprPtr(n.Left, false, n.Pos)
+               return s.exprPtr(n.Left, n.Bounded(), n.Pos)
        case ODOT:
                p := s.addr(n.Left)
                return s.newValue1I(ssa.OpOffPtr, t, n.Xoffset, p)
        case ODOTPTR:
-               p := s.exprPtr(n.Left, false, n.Pos)
+               p := s.exprPtr(n.Left, n.Bounded(), n.Pos)
                return s.newValue1I(ssa.OpOffPtr, t, n.Xoffset, p)
        case OCLOSUREVAR:
                return s.newValue1I(ssa.OpOffPtr, t, n.Xoffset,