https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97978
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Vladimir Makarov <vmaka...@gcc.gnu.org>: https://gcc.gnu.org/g:15a47f437d2ba320aa9cb72986812f115498dbf9 commit r11-6509-g15a47f437d2ba320aa9cb72986812f115498dbf9 Author: Vladimir N. Makarov <vmaka...@redhat.com> Date: Wed Jan 6 14:48:53 2021 -0500 [PR97978] LRA: Permit temporary allocation incorrectness after hard reg split. LRA can crash when a hard register was split and the same hard register was assigned on the previous assignment sub-pass. The following patch fixes this problem. gcc/ChangeLog: PR rtl-optimization/97978 * lra-int.h (lra_hard_reg_split_p): New external. * lra.c (lra_hard_reg_split_p): New global. (lra): Set up lra_hard_reg_split_p after splitting a hard reg. * lra-assigns.c (lra_assign): Don't check allocation correctness after hard reg splitting. gcc/testsuite/ChangeLog: PR rtl-optimization/97978 * gcc.target/i386/pr97978.c: New.