From cd4447e235c721a54746936f4ce9265c754af7f1 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 10 Jan 2014 00:39:06 +0100 Subject: re PR middle-end/59670 (ICE: expected gimple_call(error_mark), have gimple_assign(plus_expr) in gimple_call_internal_p, at gimple.h:2432) PR middle-end/59670 * tree-vect-data-refs.c (vect_analyze_data_refs): Check is_gimple_call before calling gimple_call_internal_p. * gcc.dg/pr59670.c: New test. From-SVN: r206503 --- gcc/tree-vect-data-refs.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gcc/tree-vect-data-refs.c') diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index ae9189c..165e41f 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -3320,9 +3320,10 @@ again: { gimple def = SSA_NAME_DEF_STMT (off); tree reft = TREE_TYPE (DR_REF (newdr)); - if (gimple_call_internal_p (def) - && gimple_call_internal_fn (def) - == IFN_GOMP_SIMD_LANE) + if (is_gimple_call (def) + && gimple_call_internal_p (def) + && (gimple_call_internal_fn (def) + == IFN_GOMP_SIMD_LANE)) { tree arg = gimple_call_arg (def, 0); gcc_assert (TREE_CODE (arg) == SSA_NAME); -- cgit v1.1