aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-07-01 08:41:33 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-07-01 08:41:33 +0000
commit1d628b1536253c8b18d1b800f287722a098a4dfe (patch)
tree3ec46d156f45efc36e3ccc7f038ff1158c5433ee /gcc/rtl.c
parenteb71ab9f1fcfd23e7b3aef9a5659275bcd840f29 (diff)
downloadgcc-1d628b1536253c8b18d1b800f287722a098a4dfe.zip
gcc-1d628b1536253c8b18d1b800f287722a098a4dfe.tar.gz
gcc-1d628b1536253c8b18d1b800f287722a098a4dfe.tar.bz2
re PR middle-end/66685 (conftest.c:16:1: internal compiler error: in as_a, at is-a.h:192)
gcc/ PR bootstrap/66685 * rtl.c (classify_insn): Handle returns in PARALLELs. From-SVN: r225230
Diffstat (limited to 'gcc/rtl.c')
-rw-r--r--gcc/rtl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 346155e..2f32c64 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -686,6 +686,8 @@ classify_insn (rtx x)
for (j = XVECLEN (x, 0) - 1; j >= 0; j--)
if (GET_CODE (XVECEXP (x, 0, j)) == CALL)
return CALL_INSN;
+ else if (ANY_RETURN_P (XVECEXP (x, 0, j)))
+ return JUMP_INSN;
else if (GET_CODE (XVECEXP (x, 0, j)) == SET
&& GET_CODE (SET_DEST (XVECEXP (x, 0, j))) == PC)
return JUMP_INSN;