aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/i386.c4
-rw-r--r--gcc/ipa-fnsummary.c6
-rw-r--r--gcc/omp-simd-clone.c4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/c-c++-common/gomp/pr83977-1.c2
6 files changed, 23 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 69cbcc6..65ef87a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index cd68168..6a49c1a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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;
}
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
{
diff --git a/gcc/omp-simd-clone.c b/gcc/omp-simd-clone.c
index fbcb92b..b7737a2 100644
--- a/gcc/omp-simd-clone.c
+++ b/gcc/omp-simd-clone.c
@@ -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;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 42665a2..8493bcd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/c-c++-common/gomp/pr83977-1.c b/gcc/testsuite/c-c++-common/gomp/pr83977-1.c
index 9941db4..bcc42dd 100644
--- a/gcc/testsuite/c-c++-common/gomp/pr83977-1.c
+++ b/gcc/testsuite/c-c++-common/gomp/pr83977-1.c
@@ -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; };