From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58649) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZIlt2-0006Yb-RD for qemu-devel@nongnu.org; Fri, 24 Jul 2015 18:56:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZIlsy-0003au-V6 for qemu-devel@nongnu.org; Fri, 24 Jul 2015 18:56:16 -0400 Received: from hall.aurel32.net ([2001:bc8:30d7:100::1]:54997) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZIlsy-0003aK-Ov for qemu-devel@nongnu.org; Fri, 24 Jul 2015 18:56:12 -0400 Date: Sat, 25 Jul 2015 00:56:10 +0200 From: Aurelien Jarno Message-ID: <20150724225610.GA23508@aurel32.net> References: <1437755447-10537-1-git-send-email-aurelien@aurel32.net> <1437755447-10537-5-git-send-email-aurelien@aurel32.net> <55B29CCC.7020907@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55B29CCC.7020907@twiddle.net> Sender: Aurelien Jarno Subject: Re: [Qemu-devel] [PATCH for-2.5 04/10] tcg/optimize: allow constant to have copies List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org On 2015-07-24 13:15, Richard Henderson wrote: > On 07/24/2015 09:30 AM, Aurelien Jarno wrote: > > Now that copies and constants are tracked separately, we can allow > > constant to have copies, deferring the choice to use a register or a > > constant to the register allocation pass. This prevent this kind of > > regular constant reloading: > > This appears to cause > > $ gdb --args ./x86_64-linux-user/qemu-x86_64 /bin/ls > ... > (gdb) run > Starting program: /home/rth/work/qemu/bld/x86_64-linux-user/qemu-x86_64 /bin/ls > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib64/libthread_db.so.1". > [New Thread 0x7ffff6604700 (LWP 7767)] > qemu-x86_64: /home/rth/work/qemu/qemu/tcg/tcg.c:1827: tcg_reg_alloc_bb_end: > Assertion `ts->val_type == TEMP_VAL_DEAD' failed. > > Program received signal SIGABRT, Aborted. It looks like I have forgotten to configure with --enable-debug-tcg. With it I am able to reproduce the problem. It seems to be a bug in the liveness analysis or the register allocator, I will try to come with a patch soon. -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net