aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2020-04-20 08:47:08 -0700
committerJosh Bleecher Snyder <josharian@gmail.com>2020-04-20 17:27:11 +0000
commitf8ff12d480dcfe0db17648939644d0eeec0ed0fb (patch)
tree5ed3bc5cae973f9af6bfa4b3bfc59006abb955b2
parent4e550bdacdeb2e6992d05a41373ec8f031535832 (diff)
downloadgo-f8ff12d480dcfe0db17648939644d0eeec0ed0fb.tar.xz
cmd/compile: use dereference boundedness hint in ssa.addr
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>
-rw-r--r--src/cmd/compile/internal/gc/ssa.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index 0536a948d4..f873defb24 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -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,