aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Corallo <andrea.corallo@arm.com>2020-04-08 13:38:28 +0100
committerAndrea Corallo <andrea.corallo@arm.com>2020-04-09 10:49:42 +0200
commitaf19e4d0e23e5f61fc15e44a58bfa3b047854b1e (patch)
tree2022103b188e91e8b658aee7323aa6c5d14b321d
parented80b385418f97ef087f3f2bbe1abecffb5c9775 (diff)
downloadgcc-af19e4d0e23e5f61fc15e44a58bfa3b047854b1e.zip
gcc-af19e4d0e23e5f61fc15e44a58bfa3b047854b1e.tar.gz
gcc-af19e4d0e23e5f61fc15e44a58bfa3b047854b1e.tar.bz2
PR target/94530
gcc/ChangeLog 2020-04-09 Andrea Corallo <andrea.corallo@arm.com> PR target/94530 * config/aarch64/falkor-tag-collision-avoidance.c (valid_src_p): Fix missing rtx type check. gcc/testsuite/ChangeLog 2020-04-09 Andrea Corallo <andrea.corallo@arm.com> * gcc.target/aarch64/pr94530.c: New test.
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/falkor-tag-collision-avoidance.c3
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr94530.c9
4 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d45d272..80492ef 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-04-09 Andrea Corallo <andrea.corallo@arm.com>
+
+ PR target/94530
+ * config/aarch64/falkor-tag-collision-avoidance.c
+ (valid_src_p): Fix missing rtx type check.
+
2020-04-09 Bin Cheng <bin.cheng@linux.alibaba.com>
Richard Biener <rguenther@suse.de>
diff --git a/gcc/config/aarch64/falkor-tag-collision-avoidance.c b/gcc/config/aarch64/falkor-tag-collision-avoidance.c
index 719df48..f850153 100644
--- a/gcc/config/aarch64/falkor-tag-collision-avoidance.c
+++ b/gcc/config/aarch64/falkor-tag-collision-avoidance.c
@@ -538,6 +538,9 @@ valid_src_p (rtx src, rtx_insn *insn, struct loop *loop, bool *pre_post,
if (!aarch64_classify_address (&addr, XEXP (x, 0), mode, true))
return false;
+ if (!REG_P (addr.base))
+ return false;
+
unsigned regno = REGNO (addr.base);
if (global_regs[regno] || fixed_regs[regno])
return false;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 960eae4..fde4e0f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2020-04-09 Andrea Corallo <andrea.corallo@arm.com>
+
+ * gcc.target/aarch64/pr94530.c: New test.
+
2020-04-09 Bin Cheng <bin.cheng@linux.alibaba.com>
PR tree-optimization/93674
diff --git a/gcc/testsuite/gcc.target/aarch64/pr94530.c b/gcc/testsuite/gcc.target/aarch64/pr94530.c
new file mode 100644
index 0000000..1f98201
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/pr94530.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-Os -mcpu=falkor -mpc-relative-literal-loads -mcmodel=large" } */
+
+extern void bar(const char *);
+
+void foo(void) {
+ for (;;)
+ bar("");
+}