Hi all, Second version of this addressing comments.
Bootstraped on aarch64 and regressioned. Okay for trunk? Andrea gcc/ChangeLog 2020-??-?? Andrea Corallo <andrea.cora...@arm.com> * config/aarch64/falkor-tag-collision-avoidance.c (valid_src_p): Check for aarch64_address_info type before accessing base field.
diff --git a/gcc/config/aarch64/falkor-tag-collision-avoidance.c b/gcc/config/aarch64/falkor-tag-collision-avoidance.c index f850153fae02..a96a3320e8fc 100644 --- a/gcc/config/aarch64/falkor-tag-collision-avoidance.c +++ b/gcc/config/aarch64/falkor-tag-collision-avoidance.c @@ -538,7 +538,11 @@ 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)) + if (addr.type != ADDRESS_REG_IMM + && addr.type != ADDRESS_REG_WB + && addr.type != ADDRESS_REG_REG + && addr.type != ADDRESS_REG_UXTW + && addr.type != ADDRESS_REG_SXTW) return false; unsigned regno = REGNO (addr.base);