aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-fnsummary.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-01-25 16:32:02 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-01-25 16:32:02 +0100
commit3d8fb311338b191231790252e91889984995055c (patch)
treeea08e295ac3e2e477df6b91ded05628b494e5109 /gcc/ipa-fnsummary.c
parent58078de77b2b22bb36d28daf2a7fe79397d5f057 (diff)
downloadgcc-3d8fb311338b191231790252e91889984995055c.zip
gcc-3d8fb311338b191231790252e91889984995055c.tar.gz
gcc-3d8fb311338b191231790252e91889984995055c.tar.bz2
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
Diffstat (limited to 'gcc/ipa-fnsummary.c')
-rw-r--r--gcc/ipa-fnsummary.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ipa-fnsummary.c b/gcc/ipa-fnsummary.c
index d45efaf..bdf9ba1 100644
--- a/gcc/ipa-fnsummary.c
+++ b/gcc/ipa-fnsummary.c
@@ -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
{