qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/2] simplify global register save/restore


From: Paul Brook
Subject: Re: [Qemu-devel] [PATCH 0/2] simplify global register save/restore
Date: Fri, 26 Feb 2010 18:32:01 +0000
User-agent: KMail/1.12.4 (Linux/2.6.32-trunk-amd64; KDE/4.3.4; x86_64; ; )

> 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

[Prev in Thread] Current Thread [Next in Thread]