commit | a2d1580fdb3fcac97391ba6574452b4dbe3f13f9 | [log] [tgz] |
---|---|---|
author | Josh Bleecher Snyder <josharian@gmail.com> | Wed Aug 12 10:12:14 2015 -0700 |
committer | Josh Bleecher Snyder <josharian@gmail.com> | Wed Aug 12 20:56:48 2015 +0000 |
tree | 4d204070bc05cc6ae64cc75ccbdd994498ae2ba7 | |
parent | d56d2fa20611bd30fce294c2523b859600b8dc18 [diff] [blame] |
[dev.ssa] cmd/compile: implement OSPTR Change-Id: Iaa40f14a1e3e4393af3c446953ffc315e79a3762 Reviewed-on: https://go-review.googlesource.com/13581 Reviewed-by: Keith Randall <khr@golang.org>
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index 81f9c8f..2a1c184 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go
@@ -1268,6 +1268,14 @@ return s.constInt(Types[TINT], n.Left.Type.Bound) } + case OSPTR: + a := s.expr(n.Left) + if n.Left.Type.IsSlice() { + return s.newValue1(ssa.OpSlicePtr, n.Type, a) + } else { + return s.newValue1(ssa.OpStringPtr, n.Type, a) + } + case OITAB: a := s.expr(n.Left) return s.newValue1(ssa.OpITab, n.Type, a)