Hi! This cleans up something I found ugly already several times. NONDEBUG_INSN_P(X) used to be defined as ((GET_CODE (X) == INSN || GET_CODE (X) == DEBUG_INSN || GET_CODE (X) == JUMP_INSN || GET_CODE (X) == CALL_INSN) && GET_CODE (X) != DEBUG_INSN) rather than the simpler (GET_CODE (X) == INSN || GET_CODE (X) == JUMP_INSN || GET_CODE (X) == CALL_INSN)
INSN_P is defined the same as before, just with DEBUG_INSN test at the end. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? 2019-03-27 Jakub Jelinek <ja...@redhat.com> * rtl.h (NONDEBUG_INSN_P): Define as NONJUMP_INSN_P or JUMP_P or CALL_P instead of INSN_P && !DEBUG_INSN_P. (INSN_P): Define using NONDEBUG_INSN_P or DEBUG_INSN_P. --- gcc/rtl.h.jj 2019-01-25 23:46:08.058166588 +0100 +++ gcc/rtl.h 2019-03-27 17:35:39.348562954 +0100 @@ -840,7 +840,7 @@ struct GTY(()) rtvec_def { #define DEBUG_INSN_P(X) (GET_CODE (X) == DEBUG_INSN) /* Predicate yielding nonzero iff X is an insn that is not a debug insn. */ -#define NONDEBUG_INSN_P(X) (INSN_P (X) && !DEBUG_INSN_P (X)) +#define NONDEBUG_INSN_P(X) (NONJUMP_INSN_P (X) || JUMP_P (X) || CALL_P (X)) /* Nonzero if DEBUG_MARKER_INSN_P may possibly hold. */ #define MAY_HAVE_DEBUG_MARKER_INSNS debug_nonbind_markers_p @@ -851,8 +851,7 @@ struct GTY(()) rtvec_def { (MAY_HAVE_DEBUG_MARKER_INSNS || MAY_HAVE_DEBUG_BIND_INSNS) /* Predicate yielding nonzero iff X is a real insn. */ -#define INSN_P(X) \ - (NONJUMP_INSN_P (X) || DEBUG_INSN_P (X) || JUMP_P (X) || CALL_P (X)) +#define INSN_P(X) (NONDEBUG_INSN_P (X) || DEBUG_INSN_P (X)) /* Predicate yielding nonzero iff X is a note insn. */ #define NOTE_P(X) (GET_CODE (X) == NOTE) Jakub