re PR middle-end/83977 (ICE in simd_clone_clauses_extract, at omp-simd-clone.c:184)
PR middle-end/83977 * ipa-fnsummary.c (compute_fn_summary): Clear can_change_signature on functions with #pragma omp declare simd or functions with simd attribute. * omp-simd-clone.c (expand_simd_clones): Revert 2018-01-24 change. * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): Remove trailing \n from warning_at calls. * c-c++-common/gomp/pr83977-1.c: Add -w to dg-options. From-SVN: r257051
This commit is contained in:
parent
58078de77b
commit
3d8fb31133
6 changed files with 23 additions and 8 deletions
|
@ -1,3 +1,13 @@
|
|||
2018-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/83977
|
||||
* ipa-fnsummary.c (compute_fn_summary): Clear can_change_signature
|
||||
on functions with #pragma omp declare simd or functions with simd
|
||||
attribute.
|
||||
* omp-simd-clone.c (expand_simd_clones): Revert 2018-01-24 change.
|
||||
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
|
||||
Remove trailing \n from warning_at calls.
|
||||
|
||||
2018-01-25 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR target/84028
|
||||
|
|
|
@ -50224,7 +50224,7 @@ ix86_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node,
|
|||
break;
|
||||
default:
|
||||
warning_at (DECL_SOURCE_LOCATION (node->decl), 0,
|
||||
"unsupported return type %qT for simd\n", ret_type);
|
||||
"unsupported return type %qT for simd", ret_type);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -50246,7 +50246,7 @@ ix86_simd_clone_compute_vecsize_and_simdlen (struct cgraph_node *node,
|
|||
break;
|
||||
default:
|
||||
warning_at (DECL_SOURCE_LOCATION (node->decl), 0,
|
||||
"unsupported argument type %qT for simd\n", TREE_TYPE (t));
|
||||
"unsupported argument type %qT for simd", TREE_TYPE (t));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -2467,7 +2467,11 @@ compute_fn_summary (struct cgraph_node *node, bool early)
|
|||
info->inlinable = tree_inlinable_function_p (node->decl);
|
||||
|
||||
/* Type attributes can use parameter indices to describe them. */
|
||||
if (TYPE_ATTRIBUTES (TREE_TYPE (node->decl)))
|
||||
if (TYPE_ATTRIBUTES (TREE_TYPE (node->decl))
|
||||
/* Likewise for #pragma omp declare simd functions or functions
|
||||
with simd attribute. */
|
||||
|| lookup_attribute ("omp declare simd",
|
||||
DECL_ATTRIBUTES (node->decl)))
|
||||
node->local.can_change_signature = false;
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1574,10 +1574,6 @@ expand_simd_clones (struct cgraph_node *node)
|
|||
tree attr = lookup_attribute ("omp declare simd",
|
||||
DECL_ATTRIBUTES (node->decl));
|
||||
if (attr == NULL_TREE
|
||||
/* Ignore artificial decls with an abstract origin, results of function
|
||||
cloning, versioning etc. We want to handle certain builtins
|
||||
with simd attribute, like __builtin_sin. */
|
||||
|| (DECL_ARTIFICIAL (node->decl) && DECL_ABSTRACT_ORIGIN (node->decl))
|
||||
|| node->global.inlined_to
|
||||
|| lookup_attribute ("noclone", DECL_ATTRIBUTES (node->decl)))
|
||||
return;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2018-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/83977
|
||||
* c-c++-common/gomp/pr83977-1.c: Add -w to dg-options.
|
||||
|
||||
2018-01-25 Richard Sandiford <richard.sandiford@linaro.org>
|
||||
|
||||
* gcc.dg/vect/vect-reduc-or_1.c: Require whole_vector_shift for
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* PR middle-end/83977 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-additional-options "-O2" } */
|
||||
/* { dg-additional-options "-O2 -w" } */
|
||||
|
||||
struct S { int a, b, c; };
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue