From cd36f5255874a8ca6b8f660d010986d21c5a364b Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Wed, 11 Jun 2014 16:16:19 -0400 Subject: [PATCH] go.tools/go/ssa: add Max to Slice's SSA operand list LGTM=adonovan R=adonovan, bradfitz CC=golang-codereviews https://golang.org/cl/101160043 --- go/ssa/interp/testdata/coverage.go | 7 +++++++ go/ssa/ssa.go | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/go/ssa/interp/testdata/coverage.go b/go/ssa/interp/testdata/coverage.go index 73fce593..4f7ea77f 100644 --- a/go/ssa/interp/testdata/coverage.go +++ b/go/ssa/interp/testdata/coverage.go @@ -635,6 +635,13 @@ func init() { if got := lenCapLoHi(s[1:3:3]); got != [4]int{2, 2, 1, 2} { panic(got) } + max := 3 + if v[2] == 42 { + max = 2 + } + if got := lenCapLoHi(s[1:2:max]); got != [4]int{1, 1, 1, 1} { + panic(got) + } } // Regression test for issue 7840 (covered by SSA sanity checker). diff --git a/go/ssa/ssa.go b/go/ssa/ssa.go index e68650ea..d4d5333b 100644 --- a/go/ssa/ssa.go +++ b/go/ssa/ssa.go @@ -1655,7 +1655,7 @@ func (s *Send) Operands(rands []*Value) []*Value { } func (v *Slice) Operands(rands []*Value) []*Value { - return append(rands, &v.X, &v.Low, &v.High) + return append(rands, &v.X, &v.Low, &v.High, &v.Max) } func (s *Store) Operands(rands []*Value) []*Value {