]> gcc.gnu.org Git - gcc.git/commit - gcc/local-alloc.c
re PR rtl-optimization/23478 (Miscompilation due to reloading of a var that is also...
authorJakub Jelinek <jakub@redhat.com>
Thu, 1 Sep 2005 05:29:03 +0000 (07:29 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 1 Sep 2005 05:29:03 +0000 (07:29 +0200)
commit95c37cdb41412007974489bb5910372ee4186ee9
tree51f172c784c1a0fb89978ba5eedd01b262b307a4
parent1990cd79695bdc9214496c869fedf53a2194f555
re PR rtl-optimization/23478 (Miscompilation due to reloading of a var that is also used in EH pad)

PR rtl-optimization/23478
* local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
(alloc_qty): Initialize it.
(update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
(combine_regs): Combine also n_throwing_calls_crossed fields.
(find_free_reg): Don't attempt to caller-save pseudos crossing
calls that might throw.
* global.c (struct allocno): Add throwing_calls_crossed field.
(global_alloc): Revert 2005-08-22 change.  Initialize
throwing_calls_crossed.
(find_reg): Don't attempt to caller-save pseudos crossing calls that
might throw.

From-SVN: r103718
gcc/ChangeLog
gcc/global.c
gcc/local-alloc.c
This page took 0.05554 seconds and 5 git commands to generate.