re PR debug/53923 (ICE: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at rtl.h:1091)

PR debug/53923
	* valtrack.c (dead_debug_insert_temp): Drop non-reg uses
	from the chain.

From-SVN: r190883
This commit is contained in:
Jakub Jelinek 2012-09-03 13:42:31 +02:00 committed by Jakub Jelinek
parent 28b4fc515b
commit d540153b67
2 changed files with 14 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2012-09-03 Jakub Jelinek <jakub@redhat.com>
PR debug/53923
* valtrack.c (dead_debug_insert_temp): Drop non-reg uses
from the chain.
2012-09-03 Joseph Myers <joseph@codesourcery.com>
* common.opt (--no-sysroot-suffix): New driver option.

View file

@ -333,6 +333,14 @@ dead_debug_insert_temp (struct dead_debug *debug, unsigned int uregno,
{
if (DF_REF_REGNO (cur->use) == uregno)
{
/* If this loc has been changed e.g. to debug_expr already
as part of a multi-register use, just drop it. */
if (!REG_P (*DF_REF_REAL_LOC (cur->use)))
{
*tailp = cur->next;
XDELETE (cur);
continue;
}
*usesp = cur;
usesp = &cur->next;
*tailp = cur->next;