aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gm2/pimlib
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2025-07-08 14:39:11 +0800
committerXi Ruoyao <xry111@xry111.site>2025-07-12 16:45:20 +0800
commite6d3c88e7bb07f94308074f9751e4384a191e022 (patch)
tree1862e4cffcd09cab067e56447633562b1e1acb23 /gcc/testsuite/gm2/pimlib
parent651845ceaae26a1b2c03f215e16e7e711dcea2cc (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
lra: Reallow reloading user hard registers if the insn is not asm [PR 120983]HEADtrunkmaster
The PR 87600 fix has disallowed reloading user hard registers to resolve earlyclobber-induced conflict. However before reload, recog completely ignores the constraints of insns, so the RTL passes may produce insns where some user hard registers violate an earlyclobber. Then we'll get an ICE without reloading them, like what we are recently encountering in LoongArch test suite. IIUC "recog does not look at constraints until reload" has been a well-established rule in GCC for years and I don't have enough skill to challange it. So reallow reloading user hard registers (but still disallow doing so for asm) to fix the ICE. gcc/ChangeLog: PR rtl-optimization/120983 * lra-constraints.cc (process_alt_operands): Allow reloading user hard registers unless the insn is an asm.
Diffstat (limited to 'gcc/testsuite/gm2/pimlib')
0 files changed, 0 insertions, 0 deletions