]> git.ipfire.org Git - thirdparty/gcc.git/commit
rtl-optimization/110587 - remove quadratic regno_in_use_p
authorRichard Biener <rguenther@suse.de>
Tue, 25 Jul 2023 13:32:11 +0000 (15:32 +0200)
committerRichard Biener <rguenther@suse.de>
Wed, 2 Aug 2023 07:03:13 +0000 (09:03 +0200)
commit07b7cd70399d22c113ad8bb1eff5cc2d12973d33
treea0eeb793d4e83846abcc29be91a9066da7304d09
parentf0b7a61d83534fc8f7aa593b1f0f0357a371a800
rtl-optimization/110587 - remove quadratic regno_in_use_p

The following removes the code checking whether a noop copy
is between something involved in the return sequence composed
of a SET and USE.  Instead of checking for this special-case
the following makes us only ever remove noop copies between
pseudos - which is the case that is necessary for IRA/LRA
interfacing to function according to the comment.  That makes
looking for the return reg special case unnecessary, reducing
the compile-time in LRA non-specific to zero for the testcase.

PR rtl-optimization/110587
* lra-spills.cc (return_regno_p): Remove.
(regno_in_use_p): Likewise.
(lra_final_code_change): Do not remove noop moves
between hard registers.
gcc/lra-spills.cc