diff options
author | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-01-24 16:10:59 -0500 |
---|---|---|
committer | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-01-24 16:13:36 -0500 |
commit | 265a749f290f7c6adc9a3aaa9c585b498a8a38ea (patch) | |
tree | 4c4c550d7af39bfcafc1ac88d3d55ec926fc67f6 /COPYING | |
parent | 6c96382eed96a9285611f2e3e2e59557094172b8 (diff) | |
download | gcc-265a749f290f7c6adc9a3aaa9c585b498a8a38ea.zip gcc-265a749f290f7c6adc9a3aaa9c585b498a8a38ea.tar.gz gcc-265a749f290f7c6adc9a3aaa9c585b498a8a38ea.tar.bz2 |
LRA: Always do elimination and only for hard register to check insn constraints
LRA does elimination but not always checks insn constraints in this case.
This results in LRA failure for PDP11 target whose addition is only 2-op insn.
The same might happen for other analogous targets. The patch fixes this problem.
PR rtl-optimization/108388
gcc/ChangeLog:
* lra-constraints.cc (get_hard_regno): Remove final_p arg. Always
do elimination but only for hard register.
(operands_match_p, uses_hard_regs_p, process_alt_operands): Adjust
calls of get_hard_regno.
gcc/testsuite/ChangeLog:
* gcc.target/pdp11/pdp11.exp: New.
* gcc.target/pdp11/pr108388.c: New.
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions