------- 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

Reply via email to