compiler: stack allocate a buffer for non-escaping string ops
For string concatenation, string to/from byte or rune slice
conversion, and int to string conversion, if the result does not
escape, we can allocate a small (32-element, or 4-byte for int to
string) buffer on stack, and pass it to the runtime function. If
the result fits in the buffer, it doesn't need to do a heap
allocation.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/182538
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@272468
138bc75d-0d04-0410-961f-
82ee72b054a4