aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.cc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2024-01-30 09:30:35 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2024-01-30 09:30:35 +0000
commitaeec7d87a28ac80c64ebfa88cef3dccee3ba8efc (patch)
tree15e86711364e25a05b60e4b2db605f1f24e78cce /gcc/tree-vect-loop-manip.cc
parentd7250c1e02478586a0cd6d5cb67bf4d17249a7e7 (diff)
downloadgcc-aeec7d87a28ac80c64ebfa88cef3dccee3ba8efc.zip
gcc-aeec7d87a28ac80c64ebfa88cef3dccee3ba8efc.tar.gz
gcc-aeec7d87a28ac80c64ebfa88cef3dccee3ba8efc.tar.bz2
aarch64: Handle debug references to removed registers [PR113636]
In this PR, we entered early-ra with quite a bit of dead code. The code was duly removed (to avoid wasting registers), but there was a dangling reference in debug instructions, which caused an ICE later. Fixed by resetting a debug instruction if it references a register that is no longer needed by non-debug instructions. gcc/ PR target/113636 * config/aarch64/aarch64-early-ra.cc (early_ra::replace_regs): Take the containing insn as an extra parameter. Reset debug instructions if they reference a register that is no longer used by real insns. (early_ra::apply_allocation): Update calls accordingly. gcc/testsuite/ PR target/113636 * go.dg/pr113636.go: New test.
Diffstat (limited to 'gcc/tree-vect-loop-manip.cc')
0 files changed, 0 insertions, 0 deletions