|
From: | Sebastian Macke |
Subject: | Re: [Qemu-devel] [PATCH 11/13] target-openrisc: use jmp_pc as flag variable for branches |
Date: | Wed, 30 Oct 2013 14:08:19 -0700 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 |
On 30/10/2013 12:47 PM, Richard Henderson wrote:
On 10/30/2013 12:07 PM, Sebastian Macke wrote:case JUMP_BRANCH: { int l1 = gen_new_label(); - tcg_gen_brcondi_tl(TCG_COND_NE, dc->btaken, 0, l1); + tcg_gen_brcondi_tl(TCG_COND_NE, jmp_pc, 0, l1); gen_goto_tb(dc, 1, dc->pc); gen_set_label(l1); - tcg_temp_free(dc->btaken); gen_goto_tb(dc, 0, dc->j_target); break;... here.But j_target is not known when the delayed slot is translated separately. (E.g. if the delayed slot is at a page boundary.)Hmm. This was just guesswork on my part since I don't have a tree with your previous patch set applied; j_target of course doesn't exist in master. Do you have a publicly accessible tree with all your patches applied? I'd like to re-read the logic in the proper context.
After you are the second who demanded it: https://github.com/s-macke/qemu/tree/or32-optimize
r~
[Prev in Thread] | Current Thread | [Next in Thread] |