re PR debug/52983 (internal compiler error: in df_uses_record, at df-scan.c:3243)
PR debug/52983 * valtrack.c (cleanup_auto_inc_dec): Implement unconditionally, falling back to copy_rtx on non-autoinc machines. (propagate_for_debug_subst): Always use cleanup_auto_inc_dec. From-SVN: r190062
This commit is contained in:
parent
08df6c0db1
commit
375e3d0742
@ -1,3 +1,10 @@
|
||||
2012-08-01 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
PR debug/52983
|
||||
* valtrack.c (cleanup_auto_inc_dec): Implement unconditionally,
|
||||
falling back to copy_rtx on non-autoinc machines.
|
||||
(propagate_for_debug_subst): Always use cleanup_auto_inc_dec.
|
||||
|
||||
2012-08-01 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
PR debug/52983
|
||||
|
@ -32,11 +32,11 @@ along with GCC; see the file COPYING3. If not see
|
||||
/* Replace auto-increment addressing modes with explicit operations to access
|
||||
the same addresses without modifying the corresponding registers. */
|
||||
|
||||
#ifdef AUTO_INC_DEC
|
||||
static rtx
|
||||
cleanup_auto_inc_dec (rtx src, enum machine_mode mem_mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
rtx x = src;
|
||||
#ifdef AUTO_INC_DEC
|
||||
const RTX_CODE code = GET_CODE (x);
|
||||
int i;
|
||||
const char *fmt;
|
||||
@ -117,9 +117,12 @@ cleanup_auto_inc_dec (rtx src, enum machine_mode mem_mode ATTRIBUTE_UNUSED)
|
||||
= cleanup_auto_inc_dec (XVECEXP (src, i, j), mem_mode);
|
||||
}
|
||||
|
||||
#else /* !AUTO_INC_DEC */
|
||||
x = copy_rtx (x);
|
||||
#endif /* !AUTO_INC_DEC */
|
||||
|
||||
return x;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Auxiliary data structure for propagate_for_debug_stmt. */
|
||||
|
||||
@ -142,11 +145,7 @@ propagate_for_debug_subst (rtx from, const_rtx old_rtx, void *data)
|
||||
if (!pair->adjusted)
|
||||
{
|
||||
pair->adjusted = true;
|
||||
#ifdef AUTO_INC_DEC
|
||||
pair->to = cleanup_auto_inc_dec (pair->to, VOIDmode);
|
||||
#else
|
||||
pair->to = copy_rtx (pair->to);
|
||||
#endif
|
||||
pair->to = make_compound_operation (pair->to, SET);
|
||||
return pair->to;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user