aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.cc
diff options
context:
space:
mode:
authorVladimir N. Makarov <vmakarov@redhat.com>2023-11-10 11:14:46 -0500
committerVladimir N. Makarov <vmakarov@redhat.com>2023-11-10 11:15:50 -0500
commitdf66fa08578a28b3acc8bdb6257b68c245a6a0fa (patch)
treeebd1ba1ba8be48926731c163a3cc086648d17bc5 /gcc/fold-const.cc
parentd44dca8da472eac29ab1b566838174e5203fdbc1 (diff)
downloadgcc-df66fa08578a28b3acc8bdb6257b68c245a6a0fa.zip
gcc-df66fa08578a28b3acc8bdb6257b68c245a6a0fa.tar.gz
gcc-df66fa08578a28b3acc8bdb6257b68c245a6a0fa.tar.bz2
[IRA]: Check autoinc and memory address after temporary equivalence substitution
My previous RA patches to take register equivalence into account do temporary register equivalence substitution to find out that the equivalence can be consumed by insns. The insn with the substitution is checked on validity using target-depended code. This code expects that autoinc operations work on register but this register can be substituted by equivalent memory. The patch fixes this problem. The patch also adds checking that the substitution can be consumed in memory address too. gcc/ChangeLog: PR target/112337 * ira-costs.cc: (validate_autoinc_and_mem_addr_p): New function. (equiv_can_be_consumed_p): Use it. gcc/testsuite/ChangeLog: PR target/112337 * gcc.target/arm/pr112337.c: New.
Diffstat (limited to 'gcc/fold-const.cc')
0 files changed, 0 insertions, 0 deletions