diff options
author | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-06-16 11:12:32 -0400 |
---|---|---|
committer | Vladimir N. Makarov <vmakarov@redhat.com> | 2023-06-16 11:16:35 -0400 |
commit | 154c69039571c66b3a6d16ecfa9e6ff22942f59f (patch) | |
tree | 54c2a5e279ab3b77c3ef8fddb2d887c552215cdb /libgomp/target.c | |
parent | b106f11dc6adb8df15cc5c268896d314c76ca35f (diff) | |
download | gcc-154c69039571c66b3a6d16ecfa9e6ff22942f59f.zip gcc-154c69039571c66b3a6d16ecfa9e6ff22942f59f.tar.gz gcc-154c69039571c66b3a6d16ecfa9e6ff22942f59f.tar.bz2 |
RA: Ignore conflicts for some pseudos from insns throwing a final exception
IRA adds conflicts to the pseudos from insns can throw exceptions
internally even if the exception code is final for the function and
the pseudo value is not used in the exception code. This results in
spilling a pseudo in a loop (see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110215).
The following patch fixes the problem.
PR rtl-optimization/110215
gcc/ChangeLog:
* ira-lives.cc: Include except.h.
(process_bb_node_lives): Ignore conflicts from cleanup exceptions
when the pseudo does not live at the exception landing pad.
Diffstat (limited to 'libgomp/target.c')
0 files changed, 0 insertions, 0 deletions