From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54503) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dTXDO-00066W-AU for qemu-devel@nongnu.org; Fri, 07 Jul 2017 13:38:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dTXDN-0007xS-D8 for qemu-devel@nongnu.org; Fri, 07 Jul 2017 13:38:50 -0400 Sender: Richard Henderson References: <149865219962.17063.10630533069463266646.stgit@frigg.lan> <149865776960.17063.4875279139522061160.stgit@frigg.lan> <2bfdb883-f19b-7fcf-c28b-7ce39115937e@twiddle.net> <87podcebyi.fsf@frigg.lan> <3745ae02-3fb0-1503-9c99-98dce369f697@twiddle.net> <87lgo0cgij.fsf@frigg.lan> From: Richard Henderson Message-ID: <260addd5-45fe-ad10-5208-35906fd3f197@twiddle.net> Date: Fri, 7 Jul 2017 07:38:26 -1000 MIME-Version: 1.0 In-Reply-To: <87lgo0cgij.fsf@frigg.lan> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v11 23/29] target/arm: [tcg] Port to translate_insn List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Peter Maydell , Peter Crosthwaite , "Emilio G. Cota" , "open list:ARM" , Paolo Bonzini , =?UTF-8?Q?Alex_Benn=c3=a9e?= On 07/07/2017 07:18 AM, LluĂ­s Vilanova wrote: > There was no code being generated after this specific case, but I haven't > checked if DISAS_EXC is set in any other place that is not immediately followed > by a "goto done_generating". Typically we haven't actually done a goto, but simply exit the loop and emit nothing within the final cleanup (tb_stop?). > Does this mean DISAS_EXC should be on the generic code and do a "goto > done_generating" whenever it is found? And if so, what are the correct places to > check for this? After ops->insn_start, ops->translate_insn, ops->tb_stop? Yes, this should be handled generically, since all targets need it. That said, I would prefer a better name like DISAS_NORETURN, which does not imply that an actual exception has been raised, but explicitly says that all following code is dead. r~