diff options
author | Vladimir N. Makarov <vmakarov@redhat.com> | 2021-01-06 14:48:53 -0500 |
---|---|---|
committer | Vladimir N. Makarov <vmakarov@redhat.com> | 2021-01-06 16:13:30 -0500 |
commit | 15a47f437d2ba320aa9cb72986812f115498dbf9 (patch) | |
tree | 07efc4b7b1aaef24877b44d0ec6d48533cec9d98 /gcc/gcov-io.c | |
parent | abb1b6058c09a7c0430d9bf019466ada07ca7b40 (diff) | |
download | gcc-15a47f437d2ba320aa9cb72986812f115498dbf9.zip gcc-15a47f437d2ba320aa9cb72986812f115498dbf9.tar.gz gcc-15a47f437d2ba320aa9cb72986812f115498dbf9.tar.bz2 |
[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.
Diffstat (limited to 'gcc/gcov-io.c')
0 files changed, 0 insertions, 0 deletions