qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] tcg/tcg: Avoid TS_DEAD for basic block ending


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. But
at 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:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]