[dev.ssa] cmd/compile/internal/ssa: Use Ninit from expressions
If an expression has an Ninit list, generate code for it.
Required for (at least) OANDAND.
Change-Id: I94c9e22e2a76955736f4a8e574d92711419c5e5c
Reviewed-on: https://go-review.googlesource.com/12072
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 96ae49a..ab16a33 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -393,7 +393,6 @@
s.startBlock(bCond)
var cond *ssa.Value
if n.Left != nil {
- s.stmtList(n.Left.Ninit)
cond = s.expr(n.Left)
} else {
cond = s.entryNewValue0A(ssa.OpConst, Types[TBOOL], true)
@@ -453,6 +452,7 @@
s.pushLine(n.Lineno)
defer s.popLine()
+ s.stmtList(n.Ninit)
switch n.Op {
case ONAME:
if n.Class == PFUNC {