Re: [PATCH] Fix dead_debug_insert_before ICE (PR debug/49522, take 3)

2011-07-07 Thread Eric Botcazou
> So, here is a new patch which doesn't need two loops, just might go a > little bit backwards to unchain dead_debug_use for the reset insn. > > It still needs the change of the gcc_assert (reg) into if (reg == NULL) > return;, because the dead->used bitmap is with this sometimes a false > positive

[PATCH] Fix dead_debug_insert_before ICE (PR debug/49522, take 3)

2011-07-07 Thread Jakub Jelinek
On Wed, Jul 06, 2011 at 10:36:02PM +0200, Eric Botcazou wrote: > > And here is a version that passed bootstrap/regtest on x86_64-linux and > > i686-linux: > > > > 2011-07-06 Jakub Jelinek > > > > PR debug/49522 > > * df-problems.c (dead_debug_reset): Remove dead_debug_uses > > refere

Re: [PATCH] Fix dead_debug_insert_before ICE (PR debug/49522, take 2)

2011-07-06 Thread Eric Botcazou
> And here is a version that passed bootstrap/regtest on x86_64-linux and > i686-linux: > > 2011-07-06 Jakub Jelinek > > PR debug/49522 > * df-problems.c (dead_debug_reset): Remove dead_debug_uses > referencing debug insns that have been reset. > (dead_debug_insert_before

Re: [PATCH] Fix dead_debug_insert_before ICE (PR debug/49522)

2011-07-06 Thread Eric Botcazou
> So you prefer something like this (untested) instead? I think that, ideally, we should avoid leaving the dead_debug chain in the semi-broken state that we currently have. > Without the second loop I have no idea how to make it work in > dead_debug_reset, the other dead_debug_use referencing th

[PATCH] Fix dead_debug_insert_before ICE (PR debug/49522, take 2)

2011-07-06 Thread Jakub Jelinek
On Tue, Jul 05, 2011 at 10:06:51PM +0200, Jakub Jelinek wrote: > On Tue, Jul 05, 2011 at 10:35:11AM +0200, Eric Botcazou wrote: > > > There are two kinds of changes we do on the debug insns without immediate > > > rescanning: > > > 1) reset the debug insn > > > 2) replace a reg use with DEBUG_EXPR

Re: [PATCH] Fix dead_debug_insert_before ICE (PR debug/49522)

2011-07-05 Thread Jakub Jelinek
On Tue, Jul 05, 2011 at 10:35:11AM +0200, Eric Botcazou wrote: > > There are two kinds of changes we do on the debug insns without immediate > > rescanning: > > 1) reset the debug insn > > 2) replace a reg use with DEBUG_EXPR of the same mode or > >subreg of a larger DEBUG_EXPR with the same ou

Re: [PATCH] Fix dead_debug_insert_before ICE (PR debug/49522)

2011-07-05 Thread Eric Botcazou
> There are two kinds of changes we do on the debug insns without immediate > rescanning: > 1) reset the debug insn > 2) replace a reg use with DEBUG_EXPR of the same mode or >subreg of a larger DEBUG_EXPR with the same outer mode as the reg > > In the attached testcase on arm a debug insn is r

[PATCH] Fix dead_debug_insert_before ICE (PR debug/49522)

2011-07-04 Thread Jakub Jelinek
Hi! In dead_debug_* we don't immediately rescan insns, because that kills all the df links we need to use, only queue their rescanning. There are two kinds of changes we do on the debug insns without immediate rescanning: 1) reset the debug insn 2) replace a reg use with DEBUG_EXPR of the same mo