mirror of
https://github.com/qemu/qemu.git
synced 2024-11-25 20:03:37 +08:00
tcg/optimize: Use a boolean to avoid a mass of continues
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Luis Pires <luis.pires@eldorado.org.br> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
137f1f4429
commit
404a148d89
@ -713,6 +713,7 @@ void tcg_optimize(TCGContext *s)
|
||||
uint64_t z_mask, partmask, affected, tmp;
|
||||
TCGOpcode opc = op->opc;
|
||||
const TCGOpDef *def;
|
||||
bool done = false;
|
||||
|
||||
/* Calls are special. */
|
||||
if (opc == INDEX_op_call) {
|
||||
@ -1212,8 +1213,8 @@ void tcg_optimize(TCGContext *s)
|
||||
allocator where needed and possible. Also detect copies. */
|
||||
switch (opc) {
|
||||
CASE_OP_32_64_VEC(mov):
|
||||
tcg_opt_gen_mov(&ctx, op, op->args[0], op->args[1]);
|
||||
continue;
|
||||
done = tcg_opt_gen_mov(&ctx, op, op->args[0], op->args[1]);
|
||||
break;
|
||||
|
||||
case INDEX_op_dup_vec:
|
||||
if (arg_is_const(op->args[1])) {
|
||||
@ -1602,7 +1603,9 @@ void tcg_optimize(TCGContext *s)
|
||||
break;
|
||||
}
|
||||
|
||||
finish_folding(&ctx, op);
|
||||
if (!done) {
|
||||
finish_folding(&ctx, op);
|
||||
}
|
||||
|
||||
/* Eliminate duplicate and redundant fence instructions. */
|
||||
if (ctx.prev_mb) {
|
||||
|
Loading…
Reference in New Issue
Block a user