diff options
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 8 |
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; |