[PR104961] LRA: split hard reg for reload pseudo with clobber.
authorVladimir N. Makarov <vmakarov@redhat.com>
Fri, 18 Mar 2022 18:23:40 +0000 (14:23 -0400)
committerVladimir N. Makarov <vmakarov@redhat.com>
Fri, 18 Mar 2022 18:25:09 +0000 (14:25 -0400)
commit0c016888ffd569c4b70722cf7df2efcc003f397b
treed5628dc0c252c6adb47ccb1955eba0a2c2bac15b
parenteabf8cad2ba1c261a3de9b07be8874d57303d9ec
[PR104961] LRA: split hard reg for reload pseudo with clobber.

Splitting hard register live range did not work for subreg of a
multi-reg reload pseudo.  Reload insns for such pseudo contain clobber
of the pseudo and splitting did not take this into account.  The patch
fixes it.

gcc/ChangeLog:

PR rtl-optimization/104961
* lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.

gcc/testsuite/ChangeLog:

PR rtl-optimization/104961
* gcc.target/i386/pr104961.c: New.
gcc/lra-assigns.cc
gcc/testsuite/gcc.target/i386/pr104961.c [new file with mode: 0644]