[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/9] Improve TCG optimizer
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/9] Improve TCG optimizer |
Date: |
Sat, 8 Sep 2012 08:18:50 +0000 |
On Fri, Sep 7, 2012 at 1:16 PM, Aurelien Jarno <address@hidden> wrote:
> This patch series improves the TCG optimizer, based on patterns found
> while executing various guest. The brcond ad setcond constant folding
> are useful especially useful when they are used to avoid some argument
> values (e.g. division by 0), and thus can be optimized when this argument
> is a constant.
>
> This bring around 0.5% improvement on openssl like benchmarks.
>
>
> Modifications between V1 and V2 following feedback I got:
> - In the first patch, account for the liveness analysis time and
> optimizing pass time separately
> - Fixed swith/break in patch 7 to correctly throw an error
> - Added patch 9 to make the code more readable
> Other patches are unmodified.
>
>
> Aurelien Jarno (9):
> tcg: improve profiler
> tcg/optimize: split expression simplification
> tcg/optimize: simplify or/xor r, a, 0 cases
> tcg/optimize: simplify and r, a, 0 cases
> tcg/optimize: simplify shift/rot r, 0, a => movi r, 0 cases
Aren't the above or/and/shift/rot simplifications (and also for
example OR with 0xfffffffff and XOR register by itself) already
handled by tcg/tcg-op.h?
> tcg/optimize: swap brcond/setcond arguments when possible
> tcg/optimize: add constant folding for setcond
> tcg/optimize: add constant folding for brcond
> tcg/optimize: fix if/else/break coding style
Otherwise a very nice series.
>
> tcg/optimize.c | 179
> +++++++++++++++++++++++++++++++++++++++++++++++++++-----
> tcg/tcg.c | 12 +++-
> tcg/tcg.h | 1 +
> 3 files changed, 175 insertions(+), 17 deletions(-)
>
> --
> 1.7.10.4
>
>
- [Qemu-devel] [PATCH v2 0/9] Improve TCG optimizer, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 2/9] tcg/optimize: split expression simplification, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 1/9] tcg: improve profiler, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 3/9] tcg/optimize: simplify or/xor r, a, 0 cases, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 4/9] tcg/optimize: simplify and r, a, 0 cases, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 9/9] tcg/optimize: fix if/else/break coding style, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 8/9] tcg/optimize: add constant folding for brcond, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 5/9] tcg/optimize: simplify shift/rot r, 0, a => movi r, 0 cases, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 7/9] tcg/optimize: add constant folding for setcond, Aurelien Jarno, 2012/09/07
- [Qemu-devel] [PATCH v2 6/9] tcg/optimize: swap brcond/setcond arguments when possible, Aurelien Jarno, 2012/09/07
- Re: [Qemu-devel] [PATCH v2 0/9] Improve TCG optimizer,
Blue Swirl <=
Re: [Qemu-devel] [PATCH v2 0/9] Improve TCG optimizer, Richard Henderson, 2012/09/10