code.google.com/p/go.exp/ssa: several fixes, optimisations and doc updates.

Builder:
- opt: setCall uses nil slice in degenerate varargs
  case, not make([]VT, 0).

Package:
- drop unnecessary AnonFuncs field.

Next:
- IsString: new field distinguishes map/string iterators.
- replace nil components in its type triple with tInvalid;
  simplifies clients.
- update comment.

Function:
- start/finish renamed {start,finish}Body.
- create Params even for external functions; makes clients simpler.
- split createSyntacticParams out of start since synthetic
  functions don't want this.

CallCommon:
- new utility methods MethodId, IsInvoke.
- added String(); requires that relName be robust against i==nil.

emitTailCall:
- fix: never make 1-tuples.

R=gri
CC=golang-dev
https://golang.org/cl/8665043
10 files changed