[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC][PATCH v0 0/8] Improve register allocator
From: |
Laurent Desnogues |
Subject: |
Re: [Qemu-devel] [RFC][PATCH v0 0/8] Improve register allocator |
Date: |
Tue, 24 May 2011 15:24:33 +0200 |
On Tue, May 24, 2011 at 1:31 PM, Kirill Batuzov <address@hidden> wrote:
[...]
> Gathered statistics shows some interesting things too. I've run matrix
> multiplication benchmark (guest - ARM, host - x86, linux-user mode, with
> my patches applied) and here are the results:
>
> spill count 3916
> real spills 32
> spills at bb end 1023
> spills at call:
> globals 2755
> iarg passing 0
> call cloobers 106
>
> Real spills are spills generated by register allocator when it runs out
> of registers. They are less than 1% of all spills. Other tests show
> similar behavior.
When you write "host x86", do you mean IA32 or x86_64?
That might change the number of real spills a lot if you meant
x86_64.
> I think any further improvements to register allocator without leveling
> conventions about saving globals at calls and BB ends somehow is
> useless.
>
> Currently we are looking if we can pass some globals on registers
> through basic block boundaries (inside one TB of course).
If by "basic block", you mean BB as implied by TCG br for
instance, I'm not sure all guests will benefit a lot. If you
mean that you intend on putting several guests BB in a
single TB then I guess you'll have to first collect dynamic
statistics before dynamically switching to grouping BB.
Laurent
- [Qemu-devel] [RFC][PATCH v0 2/8] Propagate REG_NEXT_USE value through process of register allocation., (continued)
- [Qemu-devel] [RFC][PATCH v0 2/8] Propagate REG_NEXT_USE value through process of register allocation., Kirill Batuzov, 2011/05/23
- [Qemu-devel] [RFC][PATCH v0 5/8] Track call-clobbered uses of registers, Kirill Batuzov, 2011/05/23
- [Qemu-devel] [RFC][PATCH v0 1/8] Compute additional liveness information for register allocator., Kirill Batuzov, 2011/05/23
- [Qemu-devel] [RFC][PATCH v0 8/8] Add spill count profiling., Kirill Batuzov, 2011/05/23
- [Qemu-devel] [RFC][PATCH v0 7/8] Spill globals early if their next use is at the BB end., Kirill Batuzov, 2011/05/23
- [Qemu-devel] [RFC][PATCH v0 3/8] Do better spill choice., Kirill Batuzov, 2011/05/23
- Re: [Qemu-devel] [RFC][PATCH v0 0/8] Improve register allocator, Aurelien Jarno, 2011/05/23