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
diff --git a/go/ssa/interp/testdata/coverage.go b/go/ssa/interp/testdata/coverage.go
index 73fce59..4f7ea77 100644
--- a/go/ssa/interp/testdata/coverage.go
+++ b/go/ssa/interp/testdata/coverage.go
@@ -635,6 +635,13 @@
 	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 e68650e..d4d5333 100644
--- a/go/ssa/ssa.go
+++ b/go/ssa/ssa.go
@@ -1655,7 +1655,7 @@
 }
 
 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 {