]> gcc.gnu.org Git - gcc.git/commit
[RA]: Fixing LRA cycling for multi-reg variable containing a fixed reg
authorVladimir N. Makarov <vmakarov@redhat.com>
Tue, 31 Oct 2023 14:54:43 +0000 (10:54 -0400)
committerVladimir N. Makarov <vmakarov@redhat.com>
Tue, 31 Oct 2023 15:45:40 +0000 (11:45 -0400)
commit9119b008b4195e06012a485ec01a8bb0e43266be
treed3747dd736261c38d07c8ed39aee66db4af62c6e
parent3e888f94624294d2b9b34ebfee0916768e5d9c3f
[RA]: Fixing LRA cycling for multi-reg variable containing a fixed reg

PR111971 test case uses a multi-reg variable containing a fixed reg.  LRA
rejects such multi-reg because of this when matching the constraint for
an asm insn.  The rejection results in LRA cycling.  The patch fixes this issue.

gcc/ChangeLog:

PR rtl-optimization/111971
* lra-constraints.cc: (process_alt_operands): Don't check start
hard regs for regs originated from register variables.

gcc/testsuite/ChangeLog:

PR rtl-optimization/111971
* gcc.target/powerpc/pr111971.c: New test.
gcc/lra-constraints.cc
gcc/testsuite/gcc.target/powerpc/pr111971.c [new file with mode: 0644]
This page took 0.060812 seconds and 6 git commands to generate.