tcg: Change tcg_global_mem_new_* to take a TCGv_ptr

Thus, use cpu_env as the parameter, not TCG_AREG0 directly.
Update all uses in the translators.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Introduce TCGTempType

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Change ts->mem_reg to ts->mem_base

Chain the temporaries together via pointers intstead of indices.
The mem_reg value is now mem_base->reg.  This will be important later.

This does require that the frame pointer have a global temporary
allocated for it.  This is simple bar the existing reserved_regs check.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Compress TCGLabelQemuLdst

Pack all of the non-pointer data into one 32-bit word.
Use TCGReg.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: More use of TCGReg where appropriate

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Remove tcg_get_arg_str_i32/64

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Change reg_to_temp to TCGTemp pointer

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Change temp_dead argument to TCGTemp

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Change temp_sync argument to TCGTemp

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Change temp_save argument to TCGTemp

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Introduce temp_load

Unify all of the places that realize a temporary into a register.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Tidy temporary allocation

In particular, make sure the memory is memset before use.
Continues the increased use of TCGTemp pointers instead of
integer indices where appropriate.

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Use temp_idx

Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Implement indirect memory registers

That is, global_mem registers whose base is another global_mem
register, rather than a fixed register.

Signed-off-by: Richard Henderson <rth@twiddle.net>
target-sparc: Tidy global register initialization

Create tables for the various global registers that need allocation.
Remove one level of indirection from  gregnames and fregnames.

Signed-off-by: Richard Henderson <rth@twiddle.net>
target-sparc: Use global registers for the register window

Via indirection off cpu_regwptr.

Signed-off-by: Richard Henderson <rth@twiddle.net>