[dev.ssa] Merge remote-tracking branch 'origin/master' into mbranch

Semi-regular merge of tip into dev.ssa.

Change-Id: Iec8e4266426bed233892e7dbe4448d16c8b89018
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index fcef7d3..b97764e 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -24,7 +24,7 @@
 	// TODO(khr): build config just once at the start of the compiler binary
 	s.config = ssa.NewConfig(Thearch.Thestring, ssaExport{})
 	s.f = s.config.NewFunc()
-	s.f.Name = fn.Nname.Sym.Name
+	s.f.Name = fn.Func.Nname.Sym.Name
 
 	// We construct SSA using an algorithm similar to
 	// Brau, Buchwald, Hack, Leißa, Mallon, and Zwinkau
@@ -253,7 +253,7 @@
 		addr := s.addr(n.Left)
 		s.vars[".mem"] = s.newValue3(ssa.OpStore, ssa.TypeMem, nil, addr, val, s.mem())
 	case OIF:
-		cond := s.expr(n.Ntest)
+		cond := s.expr(n.Left)
 		b := s.endBlock()
 		b.Kind = ssa.BlockIf
 		b.Control = cond
@@ -263,7 +263,7 @@
 		bEnd := s.f.NewBlock(ssa.BlockPlain)
 		var bElse *ssa.Block
 
-		if n.Nelse == nil {
+		if n.Rlist == nil {
 			addEdge(b, bThen)
 			addEdge(b, bEnd)
 		} else {
@@ -279,9 +279,9 @@
 			addEdge(b, bEnd)
 		}
 
-		if n.Nelse != nil {
+		if n.Rlist != nil {
 			s.startBlock(bElse)
-			s.stmtList(n.Nelse)
+			s.stmtList(n.Rlist)
 			b = s.endBlock()
 			if b != nil {
 				addEdge(b, bEnd)
@@ -304,9 +304,9 @@
 		addEdge(b, bCond)
 
 		// generate code to test condition
-		// TODO(khr): Ntest == nil exception
+		// TODO(khr): Left == nil exception
 		s.startBlock(bCond)
-		cond := s.expr(n.Ntest)
+		cond := s.expr(n.Left)
 		b = s.endBlock()
 		b.Kind = ssa.BlockIf
 		b.Control = cond
@@ -317,7 +317,7 @@
 		// generate body
 		s.startBlock(bBody)
 		s.stmtList(n.Nbody)
-		s.stmt(n.Nincr)
+		s.stmt(n.Right)
 		b = s.endBlock()
 		addEdge(b, bCond)
 
@@ -349,13 +349,13 @@
 		addr := s.addr(n)
 		return s.newValue2(ssa.OpLoad, n.Type, nil, addr, s.mem())
 	case OLITERAL:
-		switch n.Val.Ctype {
+		switch n.Val().Ctype() {
 		case CTINT:
-			return s.constInt(n.Type, Mpgetfix(n.Val.U.(*Mpint)))
+			return s.constInt(n.Type, Mpgetfix(n.Val().U.(*Mpint)))
 		case CTSTR:
-			return s.entryNewValue(ssa.OpConst, n.Type, n.Val.U)
+			return s.entryNewValue(ssa.OpConst, n.Type, n.Val().U)
 		default:
-			log.Fatalf("unhandled OLITERAL %v", n.Val.Ctype)
+			log.Fatalf("unhandled OLITERAL %v", n.Val().Ctype())
 			return nil
 		}