From 79cbc1f7649ee1b63aa66a3ffcad6e959df0a7d7 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Tue, 30 Jul 2002 21:57:56 +0000 Subject: [PATCH] Recognize return insns even if the return appears in a parallel. From-SVN: r55885 --- gcc/ChangeLog | 2 ++ gcc/genemit.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5158ec0a8b6e..472465f59a58 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -2,6 +2,8 @@ * ifcvt.c (cond_exec_process_if_block): Fix a merging error. Bail out early if false_expr is NULL and we'd crash due to this. + * genemit.c (gen_expand): Recognize return insns even if the return + appears in a parallel. 2002-07-30 David Edelsohn Zack Weinberg diff --git a/gcc/genemit.c b/gcc/genemit.c index 781eba2beb01..cb6c06ccd18b 100644 --- a/gcc/genemit.c +++ b/gcc/genemit.c @@ -524,8 +524,9 @@ gen_expand (expand) rtx next = XVECEXP (expand, 1, i); if ((GET_CODE (next) == SET && GET_CODE (SET_DEST (next)) == PC) || (GET_CODE (next) == PARALLEL - && GET_CODE (XVECEXP (next, 0, 0)) == SET - && GET_CODE (SET_DEST (XVECEXP (next, 0, 0))) == PC) + && ((GET_CODE (XVECEXP (next, 0, 0)) == SET + && GET_CODE (SET_DEST (XVECEXP (next, 0, 0))) == PC) + || GET_CODE (XVECEXP (next, 0, 0)) == RETURN)) || GET_CODE (next) == RETURN) printf (" emit_jump_insn ("); else if ((GET_CODE (next) == SET && GET_CODE (SET_SRC (next)) == CALL)