cmd/compile/internal/gc: use slice instead of NodeList for Label.Use

Change-Id: I021c95df24edbff24ff2922769ef2b2acd47016a
Reviewed-on: https://go-review.googlesource.com/14081
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
diff --git a/src/cmd/compile/internal/gc/gen.go b/src/cmd/compile/internal/gc/gen.go
index 1e9c68c..355210b 100644
--- a/src/cmd/compile/internal/gc/gen.go
+++ b/src/cmd/compile/internal/gc/gen.go
@@ -135,7 +135,7 @@
 			lab.Def = n
 		}
 	} else {
-		lab.Use = list(lab.Use, n)
+		lab.Use = append(lab.Use, n)
 	}
 
 	return lab
@@ -986,12 +986,10 @@
 }
 
 func checklabels() {
-	var l *NodeList
-
 	for lab := labellist; lab != nil; lab = lab.Link {
 		if lab.Def == nil {
-			for l = lab.Use; l != nil; l = l.Next {
-				yyerrorl(int(l.N.Lineno), "label %v not defined", lab.Sym)
+			for _, n := range lab.Use {
+				yyerrorl(int(n.Lineno), "label %v not defined", lab.Sym)
 			}
 			continue
 		}
@@ -1004,8 +1002,8 @@
 		if lab.Gotopc != nil {
 			Fatalf("label %v never resolved", lab.Sym)
 		}
-		for l = lab.Use; l != nil; l = l.Next {
-			checkgoto(l.N, lab.Def)
+		for _, n := range lab.Use {
+			checkgoto(n, lab.Def)
 		}
 	}
 }
diff --git a/src/cmd/compile/internal/gc/go.go b/src/cmd/compile/internal/gc/go.go
index d31adb2..b692fc8 100644
--- a/src/cmd/compile/internal/gc/go.go
+++ b/src/cmd/compile/internal/gc/go.go
@@ -220,7 +220,7 @@
 	Used uint8
 	Sym  *Sym
 	Def  *Node
-	Use  *NodeList
+	Use  []*Node
 	Link *Label
 
 	// for use during gen