|
From: | LIU Zhiwei |
Subject: | Re: [PATCH] tcg/tcg: Avoid TS_DEAD for basic block ending |
Date: | Tue, 21 Mar 2023 14:44:07 +0800 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 |
On 2023/3/21 14:06, Richard Henderson wrote:
On 3/20/23 21:53, LIU Zhiwei wrote:TS_DEAD means we will release the register allocated for this temporary. Butat basic block ending, we can still use the allocted register. Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>Test case?
I have run an Ubuntu image after this patch. It can boot.But I can't find a direct test case. Because the IRs supported with flags TCG_OPF_BB_END do not have input or output parameter, such as the set_label or br.
Best Regards, Zhiwei
r~--- tcg/tcg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcg/tcg.c b/tcg/tcg.c index bb52bc060b..0c93e6e6f8 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c@@ -2822,7 +2822,7 @@ static void la_bb_end(TCGContext *s, int ng, int nt)case TEMP_FIXED: case TEMP_GLOBAL: case TEMP_TB: - state = TS_DEAD | TS_MEM; + state = TS_MEM; break; case TEMP_EBB: case TEMP_CONST:
[Prev in Thread] | Current Thread | [Next in Thread] |