Message ID | 20220421202126.364580-1-jcmvbkbc@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/xtensa: add missing tcg_temp_free to gen_window_check | expand |
On 4/21/22 13:21, Max Filippov wrote: > pc and w are allocated with tcg_const_i32 but not freed in > gen_window_check. Add missing tcg_temp_free for pc, use tcg_constant_i32 > for w. > > Fixes: 2db59a76c421 ("target-xtensa: record available window in TB flags") > Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> > --- > target/xtensa/translate.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c > index b1491ed625e5..f4dac27507fd 100644 > --- a/target/xtensa/translate.c > +++ b/target/xtensa/translate.c > @@ -572,9 +572,10 @@ static bool gen_window_check(DisasContext *dc, uint32_t mask) > > if (r / 4 > dc->window) { > TCGv_i32 pc = tcg_const_i32(dc->pc); > - TCGv_i32 w = tcg_const_i32(r / 4); > + TCGv_i32 w = tcg_constant_i32(r / 4); > > gen_helper_window_check(cpu_env, pc, w); > + tcg_temp_free(pc); Should use tcg_constant_i32 for both of them, and not add the free for pc. r~
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c index b1491ed625e5..f4dac27507fd 100644 --- a/target/xtensa/translate.c +++ b/target/xtensa/translate.c @@ -572,9 +572,10 @@ static bool gen_window_check(DisasContext *dc, uint32_t mask) if (r / 4 > dc->window) { TCGv_i32 pc = tcg_const_i32(dc->pc); - TCGv_i32 w = tcg_const_i32(r / 4); + TCGv_i32 w = tcg_constant_i32(r / 4); gen_helper_window_check(cpu_env, pc, w); + tcg_temp_free(pc); dc->base.is_jmp = DISAS_NORETURN; return false; }
pc and w are allocated with tcg_const_i32 but not freed in gen_window_check. Add missing tcg_temp_free for pc, use tcg_constant_i32 for w. Fixes: 2db59a76c421 ("target-xtensa: record available window in TB flags") Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> --- target/xtensa/translate.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)