qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC][PATCH v2 0/4] tcg: enhance code generation qualit


From: Yeongkyoon Lee
Subject: Re: [Qemu-devel] [RFC][PATCH v2 0/4] tcg: enhance code generation quality for qemu_ld/st IRs
Date: Tue, 10 Jul 2012 18:12:00 +0900
User-agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

On 2012년 07월 05일 22:23, Yeongkyoon Lee wrote:
Summarized feature is as following.
  - All the changes are wrapped by macro "CONFIG_QEMU_LDST_OPTIMIZATION" and 
disabled by default.
  - They are enabled by "configure --enable-ldst-optimization" and need 
CONFIG_SOFTMMU.
  - They do not work with CONFIG_TCG_PASS_AREG0 because it looks better apply 
them after areg0 codes come steady.
  - Currently, they support only x86 and x86-64 and have been tested with x86 
and ARM linux targets on x86/x86-64 host platforms.
  - Build test has been done for all targets.

I'd like to summarize community's feedbacks/observations and propose new patch for ldst optimization.

* Feedbacks/observations
1. It needs to work with PASS_AREG0 (CONFIG_TCG_PASS_AREG0).
2. It does not need to be configured by user.
3. It looks good for a target to be ldst-optimized on x86/64 hosts not optionally. 4. CONFIG_QEMU_LDST_OPTIMIZATION looks necessary because common code (e.g. tcg.h/tcg.c) is used on-x86 hosts and it should support non-softmmu targets. 5. It might need two versions of MMU helpers, standard and extended, simultaneously because C code might want to call the standard version.

* Modification proposals
1. Apply ldst optimization also when PASS_AREG0 enabled.
2. Make softmmu targets always to use ldst optimization on x86/64 hosts. But testing for many targets is an issue... 3. Make target mem(op) helpers to provide extended MMU helpers and softmmu_header.h to provide standard MMU helpers.
4. Fix some mistypings and redundant checks.

I'm not sure whether my proposals are feasible, however, I'd like to try them.
How do you think about it?

Yeongkyoon Lee (4):
   tcg: add declarations and templates of extended MMU helpers
   tcg: add extended MMU helpers to softmmu targets
   tcg: add optimized TCG qemu_ld/st generation
   configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
     optimization

  configure                     |   15 ++
  softmmu_defs.h                |   13 ++
  softmmu_template.h            |   51 +++++--
  target-alpha/mem_helper.c     |   22 +++
  target-arm/op_helper.c        |   23 +++
  target-cris/op_helper.c       |   22 +++
  target-i386/mem_helper.c      |   22 +++
  target-lm32/op_helper.c       |   23 +++-
  target-m68k/op_helper.c       |   22 +++
  target-microblaze/op_helper.c |   22 +++
  target-mips/op_helper.c       |   22 +++
  target-ppc/mem_helper.c       |   22 +++
  target-s390x/op_helper.c      |   22 +++
  target-sh4/op_helper.c        |   22 +++
  target-sparc/ldst_helper.c    |   23 +++
  target-xtensa/op_helper.c     |   22 +++
  tcg/i386/tcg-target.c         |  328 +++++++++++++++++++++++++++++++++++++++++
  tcg/tcg.c                     |   12 ++
  tcg/tcg.h                     |   35 +++++
  19 files changed, 732 insertions(+), 11 deletions(-)







reply via email to

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