cmd/compile: remove remaining nodeSeqIterate calls
Mix in several other minor cleanups, including adding some new methods
to Nodes: Index, Addr, SetIndex, SetNodes.
Passes toolstash -cmp.
Update #14473.
Change-Id: I8bd4ae3fde7c5e20ba66e7dd1654fbc70c3ddeb8
Reviewed-on: https://go-review.googlesource.com/20491
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index e124d02b..40e12d5 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -2066,14 +2066,12 @@
// Evaluate args
args := make([]*ssa.Value, 0, nargs)
store := make([]bool, 0, nargs)
- it := nodeSeqIterate(n.List)
- it.Next()
- for ; !it.Done(); it.Next() {
- if canSSAType(it.N().Type) {
- args = append(args, s.expr(it.N()))
+ for _, n := range n.List.Slice()[1:] {
+ if canSSAType(n.Type) {
+ args = append(args, s.expr(n))
store = append(store, true)
} else {
- args = append(args, s.addr(it.N(), false))
+ args = append(args, s.addr(n, false))
store = append(store, false)
}
}