aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 138b03b..c1e25d7 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -389,6 +389,8 @@ verify_changes (int num)
assemblies if they have been defined as register asm ("x"). */
break;
}
+ else if (DEBUG_INSN_P (object))
+ continue;
else if (insn_invalid_p (object))
{
rtx pat = PATTERN (object);
@@ -429,7 +431,8 @@ verify_changes (int num)
validate_change (object, &PATTERN (object), newpat, 1);
continue;
}
- else if (GET_CODE (pat) == USE || GET_CODE (pat) == CLOBBER)
+ else if (GET_CODE (pat) == USE || GET_CODE (pat) == CLOBBER
+ || GET_CODE (pat) == VAR_LOCATION)
/* If this insn is a CLOBBER or USE, it is always valid, but is
never recognized. */
continue;
@@ -2039,6 +2042,7 @@ extract_insn (rtx insn)
case ASM_INPUT:
case ADDR_VEC:
case ADDR_DIFF_VEC:
+ case VAR_LOCATION:
return;
case SET:
@@ -3119,7 +3123,7 @@ peephole2_optimize (void)
for (insn = BB_END (bb); ; insn = prev)
{
prev = PREV_INSN (insn);
- if (INSN_P (insn))
+ if (NONDEBUG_INSN_P (insn))
{
rtx attempt, before_try, x;
int match_len;