From afe48e06879c76f8511209b46946210562cd6bd4 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 8 May 2000 23:10:36 -0700 Subject: final.c (current_insn_predicate): New. * final.c (current_insn_predicate): New. (final_scan_insn): Set it. * output.h (current_insn_predicate): Declare. From-SVN: r33790 --- gcc/final.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gcc/final.c') diff --git a/gcc/final.c b/gcc/final.c index dc9334f..c207cfb 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -240,6 +240,11 @@ static int dialect_number; static char *line_note_exists; +#ifdef HAVE_conditional_execution +/* Nonnull if the insn currently being emitted was a COND_EXEC pattern. */ +rtx current_insn_predicate; +#endif + /* Linked list to hold line numbers for each basic block. */ struct bb_list { @@ -2877,6 +2882,13 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) FINAL_PRESCAN_INSN (insn, recog_data.operand, recog_data.n_operands); #endif +#ifdef HAVE_conditional_execution + if (GET_CODE (PATTERN (insn)) == COND_EXEC) + current_insn_predicate = COND_EXEC_TEST (PATTERN (insn)); + else + current_insn_predicate = NULL_RTX; +#endif + #ifdef HAVE_cc0 cc_prev_status = cc_status; -- cgit v1.1