> On 02/26/2010 12:30 PM, Paul Brook wrote:
> >> Since b567b38 (target-arm: remove T0 and T1, 2009-10-16) the only global
> >> register that is actually used is AREG0, so the complexity of
> >> hostregs_helper.h is unwarranted.
> >>
> >> Let's just say that env should be the only global register.  AREG1 and
> >> AREG2 in principle could still be used to work around bad register
> >> allocation in GCC, so I'm leaving them in dyngen-exec.h.
> >
> > I think AREG[12] should be removed too. If we aren't saving them then
> > they can't be safely used.
> 
> You could still use them for local register variables, but I can prepare
> a patch to remove them (unless you do that yourself).

I'm not sure what you mean by a "local register variable". If you're entirely 
within TCG then the AREG defines aren't used anyway. If you're communicating 
between TCG and C helpers then you need the cpu-exec.c save/restore.

I suspect you're thinking of TCG_AREG[12] in tcg-target.h. We should probably 
remove those and allow the register allocator to reclaim those registers.

Paul


Reply via email to