From: Todd Neal Date: Tue, 14 Jul 2015 02:22:16 +0000 (-0500) Subject: [dev.ssa] cmd/compile: implement OIND X-Git-Tag: go1.7beta1~1623^2^2~387 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b383de2ef9d08882c331b4877ce9d5a69f8f97b2;p=gostls13.git [dev.ssa] cmd/compile: implement OIND Change-Id: I15aee8095e6388822e2222f1995fe2278ac956ca Reviewed-on: https://go-review.googlesource.com/12129 Reviewed-by: Keith Randall Reviewed-by: Josh Bleecher Snyder --- diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index b016bb1838..3ad21a6193 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -719,6 +719,10 @@ func (s *state) addr(n *Node) *ssa.Value { s.boundsCheck(i, len) return s.newValue2(ssa.OpPtrIndex, Ptrto(n.Left.Type.Type), a, i) } + case OIND: + p := s.expr(n.Left) + s.nilCheck(p) + return p case ODOT: p := s.addr(n.Left) return s.newValue2(ssa.OpAdd, p.Type, p, s.constInt(s.config.Uintptr, n.Xoffset))