aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2018-08-15 15:25:46 +0000
committerMartin Sebor <msebor@gcc.gnu.org>2018-08-15 09:25:46 -0600
commitbcee52c4b7ab4a47bb4c2426daa10f5b37968ac7 (patch)
tree570c6ac6b066b4a62df6bf89da209427534ece70 /gcc/config
parentd4d3092396c9a4045e87252431461f61a69e13aa (diff)
downloadgcc-bcee52c4b7ab4a47bb4c2426daa10f5b37968ac7.zip
gcc-bcee52c4b7ab4a47bb4c2426daa10f5b37968ac7.tar.gz
gcc-bcee52c4b7ab4a47bb4c2426daa10f5b37968ac7.tar.bz2
PR tree-optimization/71625 - missing strlen optimization on different array
PR tree-optimization/71625 - missing strlen optimization on different array initialization style (avoid compilation errors on aarch64) gcc/ChangeLog: * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtin_types): Clear Poly8_t's TYPE_STRING_FLAG. From-SVN: r263561
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/aarch64/aarch64-builtins.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index 02c6738..8cced94 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -643,6 +643,10 @@ aarch64_init_simd_builtin_types (void)
/* Poly types are a world of their own. */
aarch64_simd_types[Poly8_t].eltype = aarch64_simd_types[Poly8_t].itype =
build_distinct_type_copy (unsigned_intQI_type_node);
+ /* Prevent front-ends from transforming Poly8_t arrays into string
+ literals. */
+ TYPE_STRING_FLAG (aarch64_simd_types[Poly8_t].eltype) = false;
+
aarch64_simd_types[Poly16_t].eltype = aarch64_simd_types[Poly16_t].itype =
build_distinct_type_copy (unsigned_intHI_type_node);
aarch64_simd_types[Poly64_t].eltype = aarch64_simd_types[Poly64_t].itype =