diff options
author | Andrea Corallo <andrea.corallo@arm.com> | 2020-04-08 13:38:28 +0100 |
---|---|---|
committer | Andrea Corallo <andrea.corallo@arm.com> | 2020-04-09 10:49:42 +0200 |
commit | af19e4d0e23e5f61fc15e44a58bfa3b047854b1e (patch) | |
tree | 2022103b188e91e8b658aee7323aa6c5d14b321d | |
parent | ed80b385418f97ef087f3f2bbe1abecffb5c9775 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/aarch64/falkor-tag-collision-avoidance.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/pr94530.c | 9 |
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(""); +} |