[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 2b7ec6: tcg: Mask TCGMemOp appropriately for
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 2b7ec6: tcg: Mask TCGMemOp appropriately for indexing |
Date: |
Tue, 09 Jun 2015 08:30:06 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 2b7ec66f025263a5331f37d5ad78a625496fd7bd
https://github.com/qemu/qemu/commit/2b7ec66f025263a5331f37d5ad78a625496fd7bd
Author: Richard Henderson <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/aarch64/tcg-target.c
M tcg/arm/tcg-target.c
M tcg/i386/tcg-target.c
M tcg/mips/tcg-target.c
M tcg/ppc/tcg-target.c
M tcg/s390/tcg-target.c
M tcg/sparc/tcg-target.c
M tci.c
Log Message:
-----------
tcg: Mask TCGMemOp appropriately for indexing
The addition of MO_AMASK means that places that used inverted masks
need to be changed to use positive masks, and places that failed to
mask the intended bits need updating.
Reviewed-by: Yongbok Kim <address@hidden>
Tested-by: Yongbok Kim <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 59c4b7e8dfab0cdc41434fedbf2686222f541e57
https://github.com/qemu/qemu/commit/59c4b7e8dfab0cdc41434fedbf2686222f541e57
Author: Richard Henderson <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/tcg.c
Log Message:
-----------
tcg: Handle MO_AMASK in tcg_dump_ops
Reviewed-by: Yongbok Kim <address@hidden>
Tested-by: Yongbok Kim <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 7e1df267a7e8b39fc0cf1d84d2afc2e88ccbfeac
https://github.com/qemu/qemu/commit/7e1df267a7e8b39fc0cf1d84d2afc2e88ccbfeac
Author: Aurelien Jarno <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/tcg.c
Log Message:
-----------
tcg: fix register allocation with two aliased dead inputs
For TCG ops with two outputs registers (add2, sub2, div2, div2u), when
the same input temp is used for the two inputs aliased to the two
outputs, and when these inputs are both dead, the register allocation
code wrongly assigned the same register to the same output.
This happens for example with sub2 t1, t2, t3, t3, t4, t5, when t3 is
not used anymore after the TCG op. In that case the same register is
used for t1, t2 and t3.
The fix is to look for already allocated aliased input when allocating
a dead aliased input and check that the register is not already
used.
Cc: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: c19f47bf5e8fe3dbd10206a52d0e6e348f803933
https://github.com/qemu/qemu/commit/c19f47bf5e8fe3dbd10206a52d0e6e348f803933
Author: Aurelien Jarno <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/tcg.c
Log Message:
-----------
tcg: fix dead computation for repeated input arguments
When the same temp is used twice or more as an input argument to a TCG
instruction, the dead computation code doesn't recognize the second use
as a dead temp. This is because the temp is marked as live in the same
loop where dead inputs are checked.
The fix is to split the loop in two parts. This avoid emitting a move
and using a register for the movcond instruction when used as "move if
true" on x86-64. This might bring more improvements on RISC TCG targets
which don't have outputs aliased to inputs.
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: ebd27391b00cdafc81e0541a940686137b3b48df
https://github.com/qemu/qemu/commit/ebd27391b00cdafc81e0541a940686137b3b48df
Author: Aurelien Jarno <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: remove opc argument from tcg_opt_gen_movi
We can get the opcode using the TCGOp pointer. It needs to be
dereferenced, but it's anyway done a few lines below to write
the new value.
Cc: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 8d6a91602ea824ef4435ea38fd475387eecc098c
https://github.com/qemu/qemu/commit/8d6a91602ea824ef4435ea38fd475387eecc098c
Author: Aurelien Jarno <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: remove opc argument from tcg_opt_gen_mov
We can get the opcode using the TCGOp pointer. It needs to be
dereferenced, but it's anyway done a few lines below to write
the new value.
Cc: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 5365718a9afeeabde3784d82a542f8ad909b18cf
https://github.com/qemu/qemu/commit/5365718a9afeeabde3784d82a542f8ad909b18cf
Author: Aurelien Jarno <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: fold temp copies test in tcg_opt_gen_mov
Each call to tcg_opt_gen_mov is preceeded by a test to check if the
source and destination temps are copies. Fold that into the
tcg_opt_gen_mov function.
Cc: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 97a79eb70dd35a24fda87d86196afba5e6f21c5d
https://github.com/qemu/qemu/commit/97a79eb70dd35a24fda87d86196afba5e6f21c5d
Author: Aurelien Jarno <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: fold constant test in tcg_opt_gen_mov
Most of the calls to tcg_opt_gen_mov are preceeded by a test to check if
the source temp is a constant. Fold that into the tcg_opt_gen_mov
function.
Cc: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 36e60ef6ac5d8a262d0fbeedfdb2b588514cb1ea
https://github.com/qemu/qemu/commit/36e60ef6ac5d8a262d0fbeedfdb2b588514cb1ea
Author: Aurelien Jarno <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/optimize.c
Log Message:
-----------
tcg/optimize: rename tcg_constant_folding
The tcg_constant_folding folding ends up doing all the optimizations
(which is a good thing to avoid looping on all ops multiple time), so
make it clear and just rename it tcg_optimize.
Cc: Richard Henderson <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: b0411142f482df92717f8b4a3b746081a62b724f
https://github.com/qemu/qemu/commit/b0411142f482df92717f8b4a3b746081a62b724f
Author: Peter Maydell <address@hidden>
Date: 2015-06-09 (Tue, 09 Jun 2015)
Changed paths:
M tcg/aarch64/tcg-target.c
M tcg/arm/tcg-target.c
M tcg/i386/tcg-target.c
M tcg/mips/tcg-target.c
M tcg/optimize.c
M tcg/ppc/tcg-target.c
M tcg/s390/tcg-target.c
M tcg/sparc/tcg-target.c
M tcg/tcg.c
M tci.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20150609' into staging
Collected TCG patches
# gpg: Signature made Tue Jun 9 15:06:18 2015 BST using RSA key ID 4DD0279B
# gpg: Good signature from "Richard Henderson <address@hidden>"
# gpg: aka "Richard Henderson <address@hidden>"
# gpg: aka "Richard Henderson <address@hidden>"
* remotes/rth/tags/pull-tcg-20150609:
tcg/optimize: rename tcg_constant_folding
tcg/optimize: fold constant test in tcg_opt_gen_mov
tcg/optimize: fold temp copies test in tcg_opt_gen_mov
tcg/optimize: remove opc argument from tcg_opt_gen_mov
tcg/optimize: remove opc argument from tcg_opt_gen_movi
tcg: fix dead computation for repeated input arguments
tcg: fix register allocation with two aliased dead inputs
tcg: Handle MO_AMASK in tcg_dump_ops
tcg: Mask TCGMemOp appropriately for indexing
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/44ee94e48626...b0411142f482
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 2b7ec6: tcg: Mask TCGMemOp appropriately for indexing,
GitHub <=