cmd/compile: more use of IterXXX functions

This CL was mostly produced by a one-off automated rewrite tool
looking for statements like "for X := T.Type; X != nil; X = X.Down"
and a few minor variations.

Passes toolstash -cmp.

Change-Id: Ib22705e37d078ef97841ee2e08f60bdbcabb94ad
Reviewed-on: https://go-review.googlesource.com/20520
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index b863918..ff6a3f2 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -2634,7 +2634,7 @@
 		if countfield(t) > ssa.MaxStruct {
 			return false
 		}
-		for t1 := t.Type; t1 != nil; t1 = t1.Down {
+		for t1, it := IterFields(t); t1 != nil; t1 = it.Next() {
 			if !canSSAType(t1.Type) {
 				return false
 			}
@@ -5138,7 +5138,7 @@
 	}
 
 	var i int64
-	for t1 := t.Type; t1 != nil; t1 = t1.Down {
+	for t1, it := IterFields(t); t1 != nil; t1 = it.Next() {
 		if t1.Etype != TFIELD {
 			panic("non-TFIELD in TSTRUCT")
 		}