diff options
| author | Todd Neal <todd@tneal.org> | 2015-07-13 21:22:16 -0500 |
|---|---|---|
| committer | Josh Bleecher Snyder <josharian@gmail.com> | 2015-07-15 03:24:05 +0000 |
| commit | b383de2ef9d08882c331b4877ce9d5a69f8f97b2 (patch) | |
| tree | 73b6fc5ec3fb5c059f9c1c4103a09296f470e5ce | |
| parent | 4e204b42f5b66ea36f0421098a42addc7c2ba6c7 (diff) | |
| download | go-b383de2ef9d08882c331b4877ce9d5a69f8f97b2.tar.xz | |
[dev.ssa] cmd/compile: implement OIND
Change-Id: I15aee8095e6388822e2222f1995fe2278ac956ca
Reviewed-on: https://go-review.googlesource.com/12129
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
| -rw-r--r-- | src/cmd/compile/internal/gc/ssa.go | 4 |
1 files changed, 4 insertions, 0 deletions
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)) |
