Commit 23bae97d by Richard Sandiford Committed by Richard Sandiford

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): Only return JUMP_INSN for parallel returns if
	there are no CALLs in the same pattern.

From-SVN: r225263
parent c219aeb7
2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
PR bootstrap/66685
* rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
there are no CALLs in the same pattern.
2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/61047
......
......@@ -683,17 +683,20 @@ classify_insn (rtx x)
if (GET_CODE (x) == PARALLEL)
{
int j;
bool has_return_p = false;
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;
has_return_p = true;
else if (GET_CODE (XVECEXP (x, 0, j)) == SET
&& GET_CODE (SET_DEST (XVECEXP (x, 0, j))) == PC)
return JUMP_INSN;
else if (GET_CODE (XVECEXP (x, 0, j)) == SET
&& GET_CODE (SET_SRC (XVECEXP (x, 0, j))) == CALL)
return CALL_INSN;
if (has_return_p)
return JUMP_INSN;
}
#ifdef GENERATOR_FILE
if (GET_CODE (x) == MATCH_OPERAND
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment