]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PR105032] LRA: modify loop condition to find reload insns for hard reg splitting
authorVladimir N. Makarov <vmakarov@redhat.com>
Fri, 1 Apr 2022 13:48:57 +0000 (09:48 -0400)
committerVladimir N. Makarov <vmakarov@redhat.com>
Fri, 1 Apr 2022 14:21:19 +0000 (10:21 -0400)
commit5f587c81bc558942d2988f5e2965a72471f5c202
treea102ed9ad525c9fcf3753d3e2994833ec53d438e
parenta7d52dfb0d0d31a254702dfb42b94819ab0a858a
[PR105032] LRA: modify loop condition to find reload insns for hard reg splitting

When trying to split hard reg live range to assign hard reg to a reload
pseudo, LRA searches for reload insns of the reload pseudo
assuming a specific order of the reload insns.  This order is violated if
reload involved in inheritance transformation. In such case, the loop used
for reload insn searching can become infinite.  The patch fixes this.

gcc/ChangeLog:

PR middle-end/105032
* lra-assigns.c (find_reload_regno_insns): Modify loop condition.

gcc/testsuite/ChangeLog:

PR middle-end/105032
* gcc.target/i386/pr105032.c: New.
gcc/lra-assigns.c
gcc/testsuite/gcc.target/i386/pr105032.c [new file with mode: 0644]