[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/9] tcg/optimizer: check types in copy propagat
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 2/9] tcg/optimizer: check types in copy propagation |
Date: |
Wed, 19 Sep 2012 14:33:46 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120828 Thunderbird/15.0 |
On 09/19/2012 01:00 PM, Aurelien Jarno wrote:
> The copy propagation doesn't check the types of the temps during copy
> propagation. However TCG is using the mov_i32 for the i64 to i32
> conversion and thus the two are not equivalent.
>
> With this patch tcg_opt_gen_mov() doesn't consider two temps with
> different types as copies anymore.
>
> So far it seems the optimization was not aggressive enough to trigger
> this bug, but it will be triggered later in this series once the copy
> propagation is improved.
Exactly where/how does this manifest as problematic?
We do this mov_i32 trick from i64->i32 when we're truncating.
Given that we're not (yet) targeting mips64 and having to
maintain 32-bit sign-extended quantities, I can't see how
that would matter.
We do the i32->i64 trick immediately before a proper extension.
In either case I can't see how plain copy propagation should
matter until some other operation is involved. So, do we have
some other data propagation bug that is being masked here?
r~
- [Qemu-devel] [PATCH 0/9] tcg/optimize: rework copy propagation, Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 6/9] tcg/optimize: optimize "op r, a, a => movi r, 0", Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 4/9] tcg/optimize: do copy propagation for all operations, Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 1/9] tcg/optimizer: remove TCG_TEMP_ANY, Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 9/9] tcg: remove #ifdef #endif around TCGOpcode tests, Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 2/9] tcg/optimizer: check types in copy propagation, Aurelien Jarno, 2012/09/19
- Re: [Qemu-devel] [PATCH 2/9] tcg/optimizer: check types in copy propagation,
Richard Henderson <=
- [Qemu-devel] [PATCH 7/9] tcg/optimize: further optimize brcond/setcond, Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 8/9] tcg/optimize: prefer the "op a, a, b" form for commutative ops, Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 3/9] tcg/optimizer: rework copy progagation, Aurelien Jarno, 2012/09/19
- [Qemu-devel] [PATCH 5/9] tcg/optimize: optimize "op r, a, a => mov r, a", Aurelien Jarno, 2012/09/19