[Top][All Lists]
[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
- [Qemu-devel] Re: [PATCH v2 2/2] get rid of hostregs_helper.h, (continued)
Re: [Qemu-devel] [PATCH 0/2] simplify global register save/restore, Blue Swirl, 2010/02/13
Re: [Qemu-devel] [PATCH 0/2] simplify global register save/restore, Paul Brook, 2010/02/26