a14b3ad1 | 10-Jun-2021 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Fix documentation for tcg_constant_* vs tcg_temp_free_*
At some point during the development of tcg_constant_*, I changed my mind about whether such temps should be able to be passed to tcg_tem
tcg: Fix documentation for tcg_constant_* vs tcg_temp_free_*
At some point during the development of tcg_constant_*, I changed my mind about whether such temps should be able to be passed to tcg_temp_free_*. The final version committed allows this, but the commentary was not updated to match.
Fixes: c0522136adf Reported-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Luis Pires <luis.pires@eldorado.org.br> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
a80cdd31 | 04-Jun-2021 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Introduce tcg_remove_ops_after
Introduce a function to remove everything emitted since a given point.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <ri
tcg: Introduce tcg_remove_ops_after
Introduce a function to remove everything emitted since a given point.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
42eb6dfc | 13-Mar-2021 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Move tcg_init_ctx and tcg_ctx from accel/tcg/
These variables belong to the jit side, not the user side.
Since tcg_init_ctx is no longer used outside of tcg/, move the declaration to tcg-inter
tcg: Move tcg_init_ctx and tcg_ctx from accel/tcg/
These variables belong to the jit side, not the user side.
Since tcg_init_ctx is no longer used outside of tcg/, move the declaration to tcg-internal.h.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Luis Pires <luis.pires@eldorado.org.br> Suggested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
47d590df | 13-Mar-2021 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Move in_code_gen_buffer and tests to region.c
Shortly, the full code_gen_buffer will only be visible to region.c, so move in_code_gen_buffer out-of-line.
Move the debugging versions of tcg_spl
tcg: Move in_code_gen_buffer and tests to region.c
Shortly, the full code_gen_buffer will only be visible to region.c, so move in_code_gen_buffer out-of-line.
Move the debugging versions of tcg_splitwx_to_{rx,rw} to region.c as well, so that the compiler gets to see the implementation of in_code_gen_buffer.
This leaves exactly one use of in_code_gen_buffer outside of region.c, in cpu_restore_state. Which, being on the exception path, is not performance critical.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Luis Pires <luis.pires@eldorado.org.br> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
43b972b7 | 09-Mar-2021 |
Richard Henderson <richard.henderson@linaro.org> |
accel/tcg: Pass down max_cpus to tcg_init
Start removing the include of hw/boards.h from tcg/. Pass down the max_cpus value from tcg_init_machine, where we have the MachineState already.
Reviewed-b
accel/tcg: Pass down max_cpus to tcg_init
Start removing the include of hw/boards.h from tcg/. Pass down the max_cpus value from tcg_init_machine, where we have the MachineState already.
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
ae30e866 | 23-Jan-2021 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Restart code generation when we run out of temps
Some large translation blocks can generate so many unique constants that we run out of temps to hold them. In this case, longjmp back to the st
tcg: Restart code generation when we run out of temps
Some large translation blocks can generate so many unique constants that we run out of temps to hold them. In this case, longjmp back to the start of code generation and restart with a smaller translation block.
Buglink: https://bugs.launchpad.net/bugs/1912065 Tested-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
be986adb | 31-Mar-2020 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Remove tcg_gen_dup{8,16,32,64}i_vec
These interfaces have been replaced by tcg_gen_dupi_vec and tcg_constant_vec.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Hende
tcg: Remove tcg_gen_dup{8,16,32,64}i_vec
These interfaces have been replaced by tcg_gen_dupi_vec and tcg_constant_vec.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
1bd1af98 | 17-Apr-2020 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/tci: Add special tci_movi_{i32,i64} opcodes
The normal movi opcodes are going away. We need something for TCI to use internally.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by
tcg/tci: Add special tci_movi_{i32,i64} opcodes
The normal movi opcodes are going away. We need something for TCI to use internally.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
c0522136 | 29-Mar-2020 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Introduce TYPE_CONST temporaries
These will hold a single constant for the duration of the TB. They are hashed, so that each value has one temp across the TB.
Not used yet, this is all infrast
tcg: Introduce TYPE_CONST temporaries
These will hold a single constant for the duration of the TB. They are hashed, so that each value has one temp across the TB.
Not used yet, this is all infrastructure.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
bdb38b95 | 06-Sep-2020 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Expand TCGTemp.val to 64-bits
This will reduce the differences between 32-bit and 64-bit hosts, allowing full 64-bit constants to be created with the same interface.
Signed-off-by: Richard Hen
tcg: Expand TCGTemp.val to 64-bits
This will reduce the differences between 32-bit and 64-bit hosts, allowing full 64-bit constants to be created with the same interface.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
e01fa97d | 29-Mar-2020 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Add temp_readonly
In most, but not all, places that we check for TEMP_FIXED, we are really testing that we do not modify the temporary.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Review
tcg: Add temp_readonly
In most, but not all, places that we check for TEMP_FIXED, we are really testing that we do not modify the temporary.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|