------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-09-01 06:05 ------- Subject: Bug 23478
CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: [EMAIL PROTECTED] 2005-09-01 06:05:00 Modified files: gcc : ChangeLog regs.h global.c flow.c local-alloc.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/opt: pr23478.C Log message: PR rtl-optimization/23478 * regs.h (reg_info): Add throw_calls_crossed. (REG_N_THROWING_CALLS_CROSSED): Define. * flow.c (allocate_reg_life_data): Initialize REG_N_THROWING_CALLS_CROSSED. (propagate_one_insn, attempt_auto_inc): Update REG_N_THROWING_CALLS_CROSSED. * 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): Initialize throwing_calls_crossed. (find_reg): Don't attempt to caller-save pseudos crossing calls that might throw. * g++.dg/opt/pr23478.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.403&r2=2.7592.2.404 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/regs.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.38&r2=1.38.12.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/global.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.123&r2=1.123.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.620&r2=1.620.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/local-alloc.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.144&r2=1.144.10.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.364&r2=1.5084.2.365 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/pr23478.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23478