[dev.ssa] cmd/compile: fix function call memory

We need to move the memory variable update back to before endBlock
so that all successors use the right memory value.

See https://go-review.googlesource.com/13560

Change-Id: Id72e5526c56e5e070b933d3b28dc503a5a2978dc
Reviewed-on: https://go-review.googlesource.com/13586
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index 75e12ee..81f9c8f 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -1311,6 +1311,7 @@
 		}
 		dowidth(left.Type)
 		call.AuxInt = left.Type.Argwid // call operations carry the argsize of the callee along with them
+		s.vars[&memvar] = call
 		b := s.endBlock()
 		b.Kind = ssa.BlockCall
 		b.Control = call
@@ -1319,7 +1320,6 @@
 
 		// read result from stack at the start of the fallthrough block
 		s.startBlock(bNext)
-		s.vars[&memvar] = call
 		var titer Iter
 		fp := Structfirst(&titer, Getoutarg(left.Type))
 		if fp == nil {